SetBase0< COLLECTION, VALUETYPE, SUPER, HASH > Class Template Reference Data Structures
#include <collection.h>
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 | |
|
private |
| using SetType = COLLECTION |
|
explicit |
| 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. |
| 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. |
other
, false otherwise.
| 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. |
| 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. |
| 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. |
| Result <void> SubtractImpl | ( | COLLECTION2 && | other , |
| OverloadRank0 | |||
| ) |
| Bool IsEqualImpl | ( | const COLLECTION2 & | other , |
| COMPARE && | cmp , | ||
| OverloadRank0 | |||
| ) | const |
| HashInt GetHashCode | ( | ) | const |
|