#include <collection.h>
Intermediate class.
Public Member Functions | |
template<typename... ARGS> | |
constexpr MAXON_ATTRIBUTE_FORCE_INLINE | ArrayBase0 (ARGS &&... args) |
Bool | IsValidIndex (Int index) const |
Result< void > | CheckValidIndex (Int index) const |
Int | FindIndex (typename ByValueParam< VALUETYPE >::type v, Int start) const |
Int | FindLastIndex (typename ByValueParam< VALUETYPE >::type v) const |
Int | FindLastIndex (typename ByValueParam< VALUETYPE >::type v, Int start) const |
Bool | EraseFirst (typename ByValueParam< VALUETYPE >::type v) |
Int | EraseAll (typename ByValueParam< VALUETYPE >::type v) |
template<typename COLLECTION2 > | |
Result< void > | AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0) |
template<typename COLLECTION2 > | |
Result< void > | InsertAll (Int index, COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) |
template<typename COLLECTION2 > | |
Result< void > | Add (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) |
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 |
UniqueHash | GetUniqueHashCode () const |
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< COLLECTION > | Slice (Int start) |
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const COLLECTION > | Slice (Int start) const |
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< COLLECTION > | Slice (Int start, Int end) |
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const COLLECTION > | Slice (Int start, Int end) const |
BlockIterator< COLLECTION, VALUETYPE, false, false > | GetBlocks () |
BlockIterator< COLLECTION, VALUETYPE, true, false > | GetBlocks () const |
BlockIterator< COLLECTION, VALUETYPE, false, true > | GetStridedBlocks () |
BlockIterator< COLLECTION, VALUETYPE, true, true > | GetStridedBlocks () 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 Public Attributes | |
static const COLLECTION_KIND | KIND |
Private Types | |
using | Super = Collection< COLLECTION, VALUETYPE, SUPER > |
Additional Inherited Members | |
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 |
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 |
|
explicitconstexpr |
Returns true if the given index is within the array boundaries.
Returns an error if the given index is not within the array boundaries.
Int FindIndex | ( | typename ByValueParam< VALUETYPE >::type | v, |
Int | start | ||
) | const |
Returns the index of the first occurrence of v
in this collection. If v
cannot be found at all, a negative value will be returned.
[in] | v | The value to look for. |
[in] | start | The start index. 0 by default. |
v
, or a negative value if no such element exists. Int FindLastIndex | ( | typename ByValueParam< VALUETYPE >::type | v | ) | const |
Returns the index of the last occurrence of v
in this collection. If v
cannot be found at all, a negative value will be returned.
[in] | v | The value to look for. |
v
, or a negative value if no such element exists. Int FindLastIndex | ( | typename ByValueParam< VALUETYPE >::type | v, |
Int | start | ||
) | const |
Returns the index of the last occurrence of v
in this collection. If v
cannot be found at all, a negative value will be returned.
[in] | v | The value to look for. |
[in] | start | The start index. 0 by default. |
v
, or a negative value if no such element exists. Bool EraseFirst | ( | typename ByValueParam< VALUETYPE >::type | v | ) |
Removes the first occurrence of v
from this collection.
[in] | v | The value to remove. |
Int EraseAll | ( | typename ByValueParam< VALUETYPE >::type | v | ) |
Removes all occurrences of v
from this collection.
[in] | v | The value to remove. |
Result<void> AppendAllImpl | ( | COLLECTION2 && | other, |
COLLECTION_RESIZE_FLAGS | resizeFlags, | ||
Bool | overwrite, | ||
OverloadRank0 | |||
) |
Result<void> InsertAll | ( | Int | index, |
COLLECTION2 && | other, | ||
COLLECTION_RESIZE_FLAGS | resizeFlags = COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY |
||
) |
Inserts all elements from another collection other
to this collection starting at the given index
.
[in] | index | Index for insertion (the array size will increase and the existing elements are moved). |
[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> Add | ( | COLLECTION2 && | other, |
COLLECTION_RESIZE_FLAGS | resizeFlags = COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY |
||
) |
Appends all elements from another collection other
which are not yet contained in this array to this array. If this doesn't succeed for all entries, the array 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 |
UniqueHash GetUniqueHashCode | ( | ) | const |
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator<COLLECTION> Slice | ( | Int | start | ) |
Returns an AutoIterator which iterates over all elements from the given start
index up to the end of the array.
[in] | start | Start index for the iteration. |
start
up to the end. MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator<const COLLECTION> Slice | ( | Int | start | ) | const |
Returns an AutoIterator which iterates over all elements from the given start
index up to the end of the array.
[in] | start | Start index for the iteration. |
start
up to the end. MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator<COLLECTION> Slice | ( | Int | start, |
Int | end | ||
) |
Returns an AutoIterator which iterates over all elements from the given start
index up to but not including the given end
index.
[in] | start | Start index for the iteration. |
[in] | end | End index for the iteration, the iteration does not include the end itself. |
start
up to but not including end
. MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator<const COLLECTION> Slice | ( | Int | start, |
Int | end | ||
) | const |
Returns an AutoIterator which iterates over all elements from the given start
index up to but not including the given end
index.
[in] | start | Start index for the iteration. |
[in] | end | End index for the iteration, the iteration does not include the end itself. |
start
up to but not including end
. BlockIterator<COLLECTION, VALUETYPE, false, false> GetBlocks | ( | ) |
Returns a ForEachIterator which can be used to iterate over the Blocks of the collection. Typical usage is:
BlockIterator<COLLECTION, VALUETYPE, true, false> GetBlocks | ( | ) | const |
Returns a ForEachIterator which can be used to iterate over the Blocks of the collection. Typical usage is:
BlockIterator<COLLECTION, VALUETYPE, false, true> GetStridedBlocks | ( | ) |
BlockIterator<COLLECTION, VALUETYPE, true, true> GetStridedBlocks | ( | ) | const |
|
static |