template<typename T, Int MINCHUNKSIZE = BASEARRAY_DEFAULT_CHUNK_SIZE, BASEARRAYFLAGS MEMFLAGS = BASEARRAYFLAGS::NONE, typename Allocator = DefaultAllocator>
class maxon::PerformanceBaseArray< T, MINCHUNKSIZE, MEMFLAGS, Allocator >
Extension to BaseArray. PerformanceBaseArray is identical to BaseArray, but has the additional member UnsafeAppend. For a description of basic functionality see the description of BaseArray
|
| PerformanceBaseArray () |
|
T * | UnsafeAppend () |
|
T * | UnsafeAppend (const T &x) |
|
T * | UnsafeAppend (T &&x) |
|
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 T > & | ToBlock () const |
|
const Block< T > & | ToBlock () |
|
| operator const Block< const T > & () const |
|
| operator const Block< T > & () |
|
| operator StridedBlock< const T > () const |
|
| operator StridedBlock< T > () |
|
| 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 |
|
MAXON_ATTRIBUTE_FORCE_INLINE const T & | operator[] (Int idx) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE T & | operator[] (Int idx) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< T > | Append (ARG &&x) |
|
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< sizeof...(ARGS) !=1, ResultRef< T > >::type | Append (ARGS &&... args) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (Block< typename std::remove_const< T >::type > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (Block< const T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (const Block< typename std::remove_const< T >::type > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (const Block< const T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (Block< typename std::remove_const< T >::type > &&values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (Block< const T > &&values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (MoveBlock< T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (const MoveBlock< T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (MoveBlock< T > &&values) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (typename std::remove_const< T >::type(&array)[N]) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (const T(&array)[N]) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (BaseArray< T, CS, MF, A > &a) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (const BaseArray< T, CS, MF, A > &a) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (BaseArray< T, CS, MF, A > &&a) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Append (const std::initializer_list< T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | AppendBlock (const Block< const T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | AppendBlock (const MoveBlock< T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< T > | Insert (Int position, ARG &&x) |
|
MAXON_ATTRIBUTE_FORCE_INLINE std::enable_if< sizeof...(ARGS) !=1, ResultRef< T > >::type | Insert (Int position, ARGS &&... args) |
|
ResultPtr< T > | Insert (Int position, Block< typename std::remove_const< T >::type > &values) |
|
ResultPtr< T > | Insert (Int position, Block< const T > &values) |
|
ResultPtr< T > | Insert (Int position, const Block< typename std::remove_const< T >::type > &values) |
|
ResultPtr< T > | Insert (Int position, const Block< const T > &values) |
|
ResultPtr< T > | Insert (Int position, Block< typename std::remove_const< T >::type > &&values) |
|
ResultPtr< T > | Insert (Int position, Block< const T > &&values) |
|
ResultPtr< T > | Insert (Int position, MoveBlock< T > &values) |
|
ResultPtr< T > | Insert (Int position, const MoveBlock< T > &values) |
|
ResultPtr< T > | Insert (Int position, MoveBlock< T > &&values) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Insert (Int position, BaseArray< T, CS, MF, A > &a) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Insert (Int position, const BaseArray< T, CS, MF, A > &a) |
|
MAXON_IMPLICIT MAXON_ATTRIBUTE_FORCE_INLINE ResultPtr< T > | Insert (Int position, BaseArray< T, CS, MF, A > &&a) |
|
ResultPtr< T > | Insert (Int position, const std::initializer_list< T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< Iterator > | Insert (Iterator position, ARGS &&... args) |
|
ResultPtr< T > | InsertBlock (Int position, const Block< const T > &values) |
|
ResultPtr< T > | InsertBlock (Int position, const MoveBlock< T > &values) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ResultMemT< Iterator > | InsertBlock (Iterator position, ARGS &&... args) |
|
ResultPtr< T > | 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 T, STRIDED > &block) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Int | GetBlock (Int position, Block< T, STRIDED > &block) |
|
MAXON_ATTRIBUTE_FORCE_INLINE ConstIterator | GetBlock (ConstIterator position, Block< const T, STRIDED > &block) const |
|
MAXON_ATTRIBUTE_FORCE_INLINE Iterator | GetBlock (Iterator position, Block< T, STRIDED > &block) |
|
MAXON_ATTRIBUTE_FORCE_INLINE const T * | GetFirst () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE T * | GetFirst () |
|
MAXON_ATTRIBUTE_FORCE_INLINE const T * | GetLast () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE T * | GetLast () |
|
ResultMem | Resize (Int newCnt, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Bool | Pop (T *dst=nullptr) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Int | GetIndex (const T &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 Result< void > | AppendAllImpl (BASEARRAY &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank1) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Result< void > | AppendAllImpl (BLOCK &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank2) |
|
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< T, MINCHUNKSIZE, MEMFLAGS, DefaultAllocator > &dst, Int position, Int moveCnt) |
|
MAXON_ATTRIBUTE_FORCE_INLINE Block< T > | Disconnect () |
|
MAXON_ATTRIBUTE_FORCE_INLINE void | Connect (const Block< T > &block, Int capacity=0) |
|
MAXON_ATTRIBUTE_FORCE_INLINE DefaultAllocator & | GetAllocator () |
|
MAXON_ATTRIBUTE_FORCE_INLINE const DefaultAllocator & | GetAllocator () const |
|
UniqueHash | GetUniqueHashCode () const |
|
template<typename... ARGS> |
MAXON_ATTRIBUTE_FORCE_INLINE | ArrayBase (ARGS &&... args) |
|
ArrayImpl< COLLECTION & > | ToArray () |
|
ArrayImpl< const COLLECTION & > | ToArray () const |
|
MAXON_ATTRIBUTE_FORCE_INLINE | operator ArrayImpl< COLLECTION & > () |
|
MAXON_ATTRIBUTE_FORCE_INLINE | operator ArrayImpl< const COLLECTION & > () const |
|
template<typename... ARGS> |
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 |
|
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 |
|
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 |
|