A GenericBaseArray allows to operate on a BaseArray without knowing the element type of the array at compile time.
This array class contains no standard subscript operator because the DataType and the index must be available to access the elements. Use GenericBaseArray::GetPointer or GenericBaseArray::Get to access the elements.
|
using | AllocatorType = DefaultAllocator |
|
using | Iterator = BaseIterator< BaseArray, false > |
|
using | ConstIterator = BaseIterator< const BaseArray, false > |
|
using | Super = ArrayBase< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, Char, BaseArrayData< Char, DefaultAllocator, std::is_empty< DefaultAllocator >::value >, DefaultCompare > |
|
using | Super = BaseCollection< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, BaseArrayData< Char, DefaultAllocator, std::is_empty< DefaultAllocator >::value > > |
|
using | ValueType = Char |
|
using | IsCollection = std::true_type |
|
MAXON_ATTRIBUTE_FORCE_INLINE | BaseArray () |
|
MAXON_ATTRIBUTE_FORCE_INLINE | BaseArray (const DefaultAllocator &a) |
|
MAXON_ATTRIBUTE_FORCE_INLINE | BaseArray (DefaultAllocator &&a) |
|
MAXON_ATTRIBUTE_FORCE_INLINE | BaseArray (BaseArray &&src) |
|
MAXON_ATTRIBUTE_FORCE_INLINE | ~BaseArray () |
|
| MAXON_OPERATOR_MOVE_ASSIGNMENT (BaseArray) |
|
const Block< const Char > & | ToBlock () const |
|
const Block< Char > & | ToBlock () |
|
| operator const Block< const Char > & () const |
|
| operator const Block< Char > & () |
|
| operator StridedBlock< const Char > () const |
|
| operator StridedBlock< Char > () |
|
| operator Block< const Byte > () const |
|
| operator Block< Byte > () |
|
void | Reset () |
|
void | Flush () |
|
MAXON_ATTRIBUTE_FORCE_INLINE Int | GetCount () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Int | GetCapacityCount () const |
|
const MAXON_ATTRIBUTE_FORCE_INLINE Char & | operator[] (Int idx) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Char & | operator[] (Int idx) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< Char > | Append () |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< Char > | Append (const Char &x) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< Char > | Append (Char &&x) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< Char > | Append (const Block< const Char > &values) |
|
ResultPtr< Char > | Append (const MoveBlock< Char > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< Char > | Append (const std::initializer_list< Char > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< Char > | Insert (Int position) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< Iterator > | Insert (Iterator position) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< Char > | Insert (Int position, const Char &x) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< Iterator > | Insert (Iterator position, const Char &x) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< Char > | Insert (Int position, Char &&x) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< Iterator > | Insert (Iterator position, Char &&x) |
|
ResultPtr< Char > | Insert (Int position, const Block< const Char > &values) |
|
ResultPtr< Char > | Insert (Int position, const std::initializer_list< Char > &values) |
|
ResultPtr< Char > | Insert (Int position, const MoveBlock< Char > &values) |
|
ResultMemT< Iterator > | Insert (Iterator position, const Block< const Char > &values) |
|
ResultMemT< Iterator > | Insert (Iterator position, const std::initializer_list< Char > &values) |
|
ResultPtr< Char > | Erase (Int position, Int eraseCnt=1) |
|
Iterator | Erase (Iterator position, Int eraseCnt=1) |
|
ResultMem | SwapErase (Int position, Int eraseCnt=1) |
|
Iterator | SwapErase (Iterator position, Int eraseCnt=1) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Int | GetBlock (Int position, Block< const Char, STRIDED > &block) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Int | GetBlock (Int position, Block< Char, STRIDED > &block) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator | GetBlock (ConstIterator position, Block< const Char, STRIDED > &block) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Iterator | GetBlock (Iterator position, Block< Char, STRIDED > &block) |
|
const MAXON_ATTRIBUTE_FORCE_INLINE Char * | GetFirst () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Char * | GetFirst () |
|
const MAXON_ATTRIBUTE_FORCE_INLINE Char * | GetLast () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Char * | GetLast () |
|
ResultMem | Resize (Int newCnt, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Bool | Pop (Char *dst=nullptr) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Int | GetIndex (const Char &x) const |
|
ResultMem | EnsureCapacity (Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) |
|
ResultMem | SetCapacityHint (Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) |
|
MAXON_ATTRIBUTE_FORCE_INLINE void | Swap (Iterator a, Iterator b) |
|
Int | GetMemorySize () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator | Begin () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Iterator | Begin () |
|
MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator | End () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Iterator | End () |
|
ResultMem | MoveAndShrink (BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > &dst, Int position, Int moveCnt) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Block< Char > | Disconnect () |
|
MAXON_ATTRIBUTE_FORCE_INLINE void | Connect (const Block< Char > &block, Int capacity=0) |
|
MAXON_ATTRIBUTE_FORCE_INLINE DefaultAllocator & | GetAllocator () |
|
const MAXON_ATTRIBUTE_FORCE_INLINE DefaultAllocator & | GetAllocator () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE | ArrayBase (ARGS &&... args) |
|
ArrayImpl< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > | ToArray () |
|
ArrayImpl< const BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > | ToArray () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE | operator ArrayImpl< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > () |
|
MAXON_ATTRIBUTE_FORCE_INLINE | operator ArrayImpl< const BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > & > () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE | ArrayBase0 (ARGS &&... args) |
|
Bool | IsValidIndex (Int index) const |
|
Result< void > | CheckValidIndex (Int index) const |
|
Int | FindIndex (typename ByValueParam< Char >::type v, Int start) const |
|
Int | FindLastIndex (typename ByValueParam< Char >::type v) const |
|
Int | FindLastIndex (typename ByValueParam< Char >::type v, Int start) const |
|
Bool | EraseFirst (typename ByValueParam< Char >::type v) |
|
Int | EraseAll (typename ByValueParam< Char >::type v) |
|
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) |
|
Result< void > | Add (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) |
|
Result< void > | SubtractImpl (COLLECTION2 &&other, OverloadRank0) |
|
Bool | IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0) const |
|
UInt | GetHashCode () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > > | Slice (Int start) |
|
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > > | Slice (Int start) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > > | Slice (Int start, Int end) |
|
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator > > | Slice (Int start, Int end) const |
|
BlockIterator< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, Char, false, false > | GetBlocks () |
|
BlockIterator< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, Char, true, false > | GetBlocks () const |
|
BlockIterator< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, Char, false, true > | GetStridedBlocks () |
|
BlockIterator< BaseArray< Char, BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS::NONE, DefaultAllocator >, Char, true, true > | GetStridedBlocks () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE | Collection (ARGS &&... args) |
|
ResultOk< void > | VariadicAppend () |
|
Result< void > | VariadicAppend (V &&value, VALUES &&... rest) |
|
| operator ValueReceiver< const Char & > () |
|
| operator ValueReceiver< Char && > () |
|
| operator ValueReceiver< typename std::conditional< std::is_scalar< Char >::value, Char, DummyParamType & >::type > () |
|
Result< Bool > | ForEach (FN &&callback) |
|
H::Iterator | Find (typename ByValueParam< Char >::type v) |
|
H::ConstIterator | Find (typename ByValueParam< Char >::type v) const |
|
Int | FindIndex (typename ByValueParam< Char >::type v) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Bool | Contains (typename ByValueParam< Char >::type v) const |
|
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 |
|
static const Char & | GetMapKey (const Char &key) |
|
static const COLLECTION_KIND | KIND |
|