SetBase0< COLLECTION, VALUETYPE, SUPER, HASH > Class Template Reference Data Structures

#include <collection.h>

Inheritance diagram for SetBase0< COLLECTION, VALUETYPE, SUPER, HASH >:

Public Types

using  SetType = COLLECTION
-  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

公共成员函数

template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE   SetBase0 (ARGS &&... args)
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef < const VALUETYPE Append (typename ByValueParam < VALUETYPE >:: type v)
template<typename COLLECTION2 >
Bool   ContainsAllImpl (COLLECTION2 &&other, OverloadRank0 ) const
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  添加 (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
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 >
Result < void >  SubtractImpl (COLLECTION2 &&other, OverloadRank0 )
template<typename COLLECTION2 , typename COMPARE >
Bool   IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0 ) const
HashInt   GetHashCode () 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 < Bool ForEach (FN &&callback) const
template<typename FN >
Result < Bool ForEach (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

静态公共属性

static const COLLECTION_KIND   KIND

Private Types

using  Super = Collection < COLLECTION, VALUETYPE , SUPER >

Additional Inherited Members

-  Static Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
static const VALUETYPE GetMapKey (const VALUETYPE &key)
-  Public Attributes inherited from Collection< COLLECTION, VALUETYPE, SUPER >
  VALUETYPE

Member Typedef Documentation

◆  Super

using Super = Collection <COLLECTION, VALUETYPE , SUPER>
private

◆  SetType

using SetType = COLLECTION

构造函数 & 析构函数文档编制

◆  SetBase0()

MAXON_ATTRIBUTE_FORCE_INLINE SetBase0 ( ARGS &&...  args )
explicit

成员函数文档编制

◆  Append()

MAXON_ATTRIBUTE_FORCE_INLINE ResultRef <const VALUETYPE > Append ( typename ByValueParam < VALUETYPE >:: type   v )

Adds v to this set. This forwards to the Insert function of the collection. It unifies the addition of elements to array- and set-like collections as the former already have an Append function, while the latter only have an Insert function.

参数
[in] v The value to add to this collection.
返回
Pointer to the value in the set, or nullptr if the element had to be added, but the allocation failed.

◆  ContainsAllImpl()

Bool ContainsAllImpl ( COLLECTION2 &&  other ,
OverloadRank0    
) const

Returns true if this collection contains all elements from another collection other , i.e., if this collection is a superset of other .

参数
[in] other Another collection, may be any iterable object.
返回
True if this collection contains all elements from other , false otherwise.

◆  Add()

MAXON_ATTRIBUTE_FORCE_INLINE Result <void> Add ( COLLECTION2 &&  other ,
COLLECTION_RESIZE_FLAGS   resizeFlags = COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY  
)

Adds all elements from another collection other to this set. If this doesn't succeed for all entries, the set will be left in a valid, but intermediate state with only some entries from other added.

参数
[in] other Another collection, may be any iterable object.
[in] resizeFlags If ON_GROW_FIT_TO_SIZE is set, the collection will use only as much memory as needed to hold the data.
返回
OK on success.

◆  AppendAll()

MAXON_ATTRIBUTE_FORCE_INLINE Result <void> AppendAll ( COLLECTION2 &&  other ,
COLLECTION_RESIZE_FLAGS   resizeFlags = COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY  
)

Adds all elements from another collection other to this set. If this doesn't succeed for all entries, the set will be left in a valid, but intermediate state with only some entries from other added.

参数
[in] other Another collection, may be any iterable object.
[in] resizeFlags If ON_GROW_FIT_TO_SIZE is set, the collection will use only as much memory as needed to hold the data.
返回
OK on success.

◆  CopyFrom()

MAXON_ATTRIBUTE_FORCE_INLINE Result <void> CopyFrom ( COLLECTION2 &&  other ,
COLLECTION_RESIZE_FLAGS   resizeFlags = COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE  
)

Makes this set a copy of other . If copying doesn't succeed for all entries, the set will be left in a valid, but intermediate state with only some entries from other added.

参数
[in] other Another collection, may be any iterable object.
[in] resizeFlags If ON_GROW_FIT_TO_SIZE is set, the collection will use only as much memory as needed to hold the data.
返回
OK on success.

◆  SubtractImpl()

Result <void> SubtractImpl ( COLLECTION2 &&  other ,
OverloadRank0    
)

◆  IsEqualImpl()

Bool IsEqualImpl ( const COLLECTION2 &  other ,
COMPARE &&  cmp ,
OverloadRank0    
) const

◆  GetHashCode()

HashInt GetHashCode ( ) const

Member Data Documentation

◆  KIND

const COLLECTION_KIND KIND static