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< SetInterface< TYPE >, TYPE, EmptyClass >
using Super = BaseCollection< SetInterface< TYPE >, EmptyClass >
 
using ValueType = TYPE
 
- Public Types inherited from BaseCollection< SetInterface< TYPE >, EmptyClass >
using IsCollection = std::true_type
 

Public Member Functions

const NonConstSetToSet () const
 
NonConstSetToSet ()
 
 operator const NonConstSet< typename std::conditional< std::is_same< TYPE, Generic >::value, DummyReturnType, Generic >::type > & () const
 
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 cloneElements=true) const
 
const MAXON_METHOD DataTypeGetValueDataType () const
 
MAXON_METHOD String ToString (const FormatStatement *formatStatement) const
 
MAXON_METHOD Int GetMemorySize () const
 
 MAXON_ADD_TO_CONST_REFERENCE_CLASS (UInt 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_same< const TYPE, const Generic >::value, const DummyReturnType, Generic >::type > & () const
 
 operator SetInterface< typename std::conditional< std::is_same< TYPE, Generic >::value, volatile DummyReturnType, Generic >::type > & ()
 
 operator const NonConstSet< TYPE > & ()
 
 operator const NonConstSet< typename std::conditional< std::is_same< TYPE, Generic >::value, DummyReturnType, Generic >::type > & ()
 
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
 
UInt GetHashCode () const
 
- Public Member Functions inherited from Collection< SetInterface< TYPE >, TYPE, EmptyClass >
MAXON_ATTRIBUTE_FORCE_INLINE Collection (ARGS &&... args)
 
ResultOk< void > VariadicAppend ()
 
Result< void > VariadicAppend (V &&value, VALUES &&... rest)
 
 operator ValueReceiver< const TYPE & > ()
 
 operator ValueReceiver< TYPE && > ()
 
 operator ValueReceiver< typename std::conditional< std::is_scalar< TYPE >::value, TYPE, DummyParamType & >::type > ()
 
Result< BoolForEach (FN &&callback)
 
H::Iterator Find (typename ByValueParam< TYPE >::type v)
 
H::ConstIterator Find (typename ByValueParam< TYPE >::type v) const
 
Int FindIndex (typename ByValueParam< TYPE >::type v) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool Contains (typename ByValueParam< TYPE >::type v) const
 
- Public Member Functions inherited from BaseCollection< SetInterface< TYPE >, EmptyClass >
MAXON_ATTRIBUTE_FORCE_INLINE BaseCollection (ARGS &&... args)
 
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator== (const COLLECTION2 &other) const
 
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value, Bool >::type operator!= (const COLLECTION2 &other) const
 
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< maxon::IsCollection< COLLECTION2 >::value &&!std::is_same< typename std::decay< COMPARE >::type, EQUALITY >::value, Bool >::type IsEqual (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const
 
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)
 
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Subtract (COLLECTION2 &&other)
 
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Intersect (const COLLECTION2 &other)
 
Bool Intersects (const COLLECTION2 &other) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > CopyFromImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank0)
 
Result< void > AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0)
 
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) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool ContainsAll (COLLECTION2 &&other) const
 
Bool ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const
 

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< SetInterface< TYPE >, TYPE, EmptyClass >
static const TYPEGetMapKey (const TYPE &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_same< TYPE, Generic >::value, DummyReturnType, Generic >::type > &()

operator const NonConstSet< typename std::conditional< std::is_same< TYPE, Generic >::value, DummyReturnType, Generic >::type > & ( ) const

◆ 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