NonConstSet< TYPE > Class Template Reference

#include <set.h>

Inheritance diagram for NonConstSet< TYPE >:

Public Types

using Super = SetInterface< TYPE >
 
using ConstIterator = typename Super::Iterator
 
- Public Types inherited from SetInterface< TYPE >
using ValueType = TYPE
 
using Iterator = IteratorTemplate< false >
 
using ConstIterator = IteratorTemplate< true >
 
- Public Types inherited from SetBase0< SetInterface< TYPE >, TYPE, EmptyClass, DefaultCompare >
using SetType = SetInterface< TYPE >
 
- Public Types inherited from Collection< COLLECTION, VALUETYPE, SUPER >
using Super = BaseCollection< COLLECTION, SUPER >
 
using ValueType = VALUETYPE
 
- Public Types inherited from BaseCollection< COLLECTION, SUPER >
using IsCollection = std::true_type
 
using IsBaseArray = std::false_type
 

Public Member Functions

const NonConstSetToSet () const
 
NonConstSetToSet ()
 
 operator const NonConstSet< typename std::conditional< STD_IS_REPLACEMENT (same, TYPE, Generic)
 
Result< void > Insert (const TYPE &value, Bool &added=BoolLValue()) const
 
Result< void > Insert (TYPE &&value, Bool &added=BoolLValue()) const
 
Result< BoolErase (const TYPE &value) const
 
ConstIterator Erase (const ConstIterator &iterator) const
 
void Reset () const
 
void Flush () const
 
Result< void > CopyFrom (const Super &other) const
 
ConstIterator Begin () const
 
ConstIterator End () const
 
template<typename COLLECTION2 >
Result< void > AppendAll (COLLECTION2 &&c2) const
 
template<typename COLLECTION2 >
Result< void > CopyFrom (COLLECTION2 &&c2) const
 
- Public Member Functions inherited from SetInterface< TYPE >
MAXON_METHOD Int GetCount () const
 
MAXON_FUNCTION Bool IsEmpty () const
 
MAXON_FUNCTION Bool IsPopulated () const
 
MAXON_METHOD Bool Contains (const TYPE &value) const
 
MAXON_METHOD Result< void > Insert (const TYPE &value, Bool &added=BoolLValue())
 
MAXON_METHOD Result< void > Insert (TYPE &&value, Bool &added=BoolLValue())
 
MAXON_METHOD Result< BoolErase (const TYPE &value)
 
MAXON_METHOD Iterator Erase (const Iterator &iterator)
 
MAXON_METHOD void Reset ()
 
MAXON_METHOD void Flush ()
 
MAXON_METHOD Result< void > CopyFrom (const SetInterface &other)
 
MAXON_METHOD Result< SetInterface * > Clone (Bool copyContent=true) const
 
MAXON_METHOD const DataTypeGetValueDataType () const
 
MAXON_METHOD String ToString (const FormatStatement *formatStatement=nullptr) const
 
MAXON_METHOD Int GetMemorySize () const
 
 MAXON_ADD_TO_CONST_REFERENCE_CLASS (HashInt GetHashCode() const { CriticalStop("Not implemented.");return 0;};)
 
template<typename T >
MAXON_FUNCTION Bool HasType () const
 
template<typename T >
MAXON_FUNCTION void AssertType () const
 
template<typename T >
SetInterface< T > & AssertCast ()
 
template<typename T >
const SetInterface< T > & AssertCast () const
 
 operator const SetInterface< typename std::conditional< STD_IS_REPLACEMENT (same, const TYPE, const Generic)
 
 operator SetInterface< typename std::conditional< STD_IS_REPLACEMENT (same, TYPE, Generic)
 
Generic ::typeoperator const NonConstSet< TYPE > & ()
 
 operator const NonConstSet< typename std::conditional< STD_IS_REPLACEMENT (same, TYPE, Generic)
 
ConstIterator Begin () const
 
Iterator Begin ()
 
ConstIterator End () const
 
Iterator End ()
 
- Public Member Functions inherited from SetBase0< SetInterface< TYPE >, TYPE, EmptyClass, DefaultCompare >
MAXON_ATTRIBUTE_FORCE_INLINE SetBase0 (ARGS &&... args)
 
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< const TYPEAppend (typename ByValueParam< TYPE >::type v)
 
Bool ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Add (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
 
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
 
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE)
 
Result< void > SubtractImpl (COLLECTION2 &&other, OverloadRank0)
 
Bool IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0) const
 
HashInt GetHashCode () const
 
UniqueHash GetUniqueHashCode () const
 
- Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE Collection (ARGS &&... args)
 
ResultOk< void > VariadicAppend ()
 
template<typename V , typename... VALUES>
Result< void > VariadicAppend (V &&value, VALUES &&... rest)
 
 operator ValueReceiver< const VALUETYPE & > ()
 
 operator ValueReceiver< VALUETYPE && > ()
 
 operator ValueReceiver< typename std::conditional< STD_IS_REPLACEMENT (scalar, VALUETYPE)
 
DummyParamType & type ()
 
template<typename FN >
Result< BoolForEach (FN &&callback) const
 
template<typename FN >
Result< BoolForEach (FN &&callback)
 
template<typename H = COLLECTION>
H::Iterator Find (typename ByValueParam< VALUETYPE >::type v)
 
template<typename H = COLLECTION>
H::ConstIterator Find (typename ByValueParam< VALUETYPE >::type v) const
 
Int FindIndex (typename ByValueParam< VALUETYPE >::type v) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool Contains (typename ByValueParam< VALUETYPE >::type v) const
 
- Public Member Functions inherited from BaseCollection< COLLECTION, SUPER >
template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE BaseCollection (ARGS &&... args)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator== (const COLLECTION2 &other) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator!= (const COLLECTION2 &other) const
 
template<typename COMPARE = EqualityCompare, typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value &&!STD_IS_REPLACEMENT(same, typename std::decay< COMPARE >::type, EQUALITY), Bool >::type IsEqual (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Subtract (COLLECTION2 &&other)
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Intersect (const COLLECTION2 &other)
 
template<typename COLLECTION2 >
Bool Intersects (const COLLECTION2 &other) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFromImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank0)
 
template<typename COLLECTION2 >
Result< void > AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0)
 
template<typename COLLECTION2 >
Result< void > IntersectImpl (COLLECTION2 &&other, OverloadRank0)
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsEmpty () const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool IsPopulated () const
 
String ToString (const FormatStatement *formatStatement=nullptr) const
 
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Bool ContainsAll (COLLECTION2 &&other) const
 
template<typename COLLECTION2 >
Bool ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const
 

Public Attributes

 DeleteReturnType01
 
Generic ::typeconst
 
- Public Attributes inherited from SetInterface< TYPE >
 DeleteReturnType01
 
Generic ::typeconst
 
 DeleteReturnType02
 
 DeleteReturnType03
 
- Public Attributes inherited from Collection< COLLECTION, VALUETYPE, SUPER >
 VALUETYPE
 

Protected Member Functions

 NonConstSet (const typename Super::MTable &vtable)
 
 ~NonConstSet ()
 

Private Member Functions

 MAXON_DISALLOW_COPY_AND_ASSIGN (NonConstSet)
 

Additional Inherited Members

- Static Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
static const VALUETYPEGetMapKey (const VALUETYPE &key)
 
- Static Public Attributes inherited from SetBase0< SetInterface< TYPE >, TYPE, EmptyClass, DefaultCompare >
static const COLLECTION_KIND KIND
 

Member Typedef Documentation

◆ Super

using Super = SetInterface<TYPE>

◆ ConstIterator

using ConstIterator = typename Super::Iterator

Constructor & Destructor Documentation

◆ NonConstSet()

NonConstSet ( const typename Super::MTable &  vtable)
explicitprotected

◆ ~NonConstSet()

~NonConstSet ( )
protected

Member Function Documentation

◆ ToSet() [1/2]

const NonConstSet& ToSet ( ) const

◆ ToSet() [2/2]

NonConstSet& ToSet ( )

◆ operator const NonConstSet< typename std::conditional< STD_IS_REPLACEMENT()

operator const NonConstSet< typename std::conditional< STD_IS_REPLACEMENT ( same  ,
TYPE  ,
Generic   
)

◆ Insert() [1/2]

Result<void> Insert ( const TYPE &  value,
Bool added = BoolLValue() 
) const

◆ Insert() [2/2]

Result<void> Insert ( TYPE &&  value,
Bool added = BoolLValue() 
) const

◆ Erase() [1/2]

Result<Bool> Erase ( const TYPE &  value) const

◆ Erase() [2/2]

ConstIterator Erase ( const ConstIterator iterator) const

◆ Reset()

void Reset ( void  ) const

◆ Flush()

void Flush ( void  ) const

◆ CopyFrom() [1/2]

Result<void> CopyFrom ( const Super other) const

◆ Begin()

ConstIterator Begin ( ) const

◆ End()

ConstIterator End ( ) const

◆ AppendAll()

Result<void> AppendAll ( COLLECTION2 &&  c2) const

◆ CopyFrom() [2/2]

Result<void> CopyFrom ( COLLECTION2 &&  c2) const

◆ MAXON_DISALLOW_COPY_AND_ASSIGN()

MAXON_DISALLOW_COPY_AND_ASSIGN ( NonConstSet< TYPE >  )
private

Member Data Documentation

◆ DeleteReturnType01

DeleteReturnType01

◆ const

Generic ::type& const