| 
| using  | Super = ArrayBase< Block< const InterfaceReference *const, STRIDED, MOVE >, const InterfaceReference *const, BlockBase< const InterfaceReference *const, STRIDED >, DefaultCompare > | 
|   | 
| using  | StrideType = typename std::conditional< GENERIC, Char, const InterfaceReference *const >::type | 
|   | 
| using  | Iterator = BaseIterator< Block, STRIDED > | 
|   | 
| using  | ConstIterator = BaseIterator< Block, STRIDED > | 
|   | 
| using  | SwapByteChar = typename std::conditional< std::is_same< const Byte, const const InterfaceReference *const >::value, Char, Byte >::type | 
|   | 
| using  | Super = BaseCollection< COLLECTION, SUPER > | 
|   | 
| using  | ValueType = VALUETYPE | 
|   | 
| using  | IsCollection = std::true_type | 
|   | 
| using  | IsBaseArray = std::false_type | 
|   | 
|   | Block () | 
|   | 
| constexpr  | Block (const InterfaceReference *const *ptr, Int size, Int stride=(STRIDED &&GENERIC) ? -1 :SIZEOF(StrideType)) | 
|   | 
|   | Block (Iterator start, Int size, Int stride=(STRIDED &&GENERIC) ? -1 :SIZEOF(StrideType)) | 
|   | 
| MAXON_IMPLICIT  | Block (const InterfaceReference *const(&array)[N]) | 
|   | 
| MAXON_IMPLICIT  | Block (const std::initializer_list< typename std::remove_const< const InterfaceReference *const >::type > &list) | 
|   | 
|   | Block (ANY *ptr, Int size) | 
|   | 
|   | Block (const Block< ANY > &src) | 
|   | 
| MAXON_IMPLICIT  | Block (ANY(&array)[N]) | 
|   | 
|   | Block (const Block &src)=default | 
|   | 
| Block &  | operator= (const Block &src)=default | 
|   | 
| Result< void >  | CopyFrom (const Block &src)=delete | 
|   | 
|   | operator ArrayImpl< Block & > ()=delete | 
|   | 
|   | operator ArrayImpl< const Block & > () const=delete | 
|   | 
| Int  | GetStride () const | 
|   | 
| Bool  | IsStrided () const | 
|   | 
| void  | Set (const InterfaceReference *const *ptr, Int size, Int stride=(STRIDED &&GENERIC) ? -1 :SIZEOF(StrideType)) | 
|   | 
| void  | Reset () | 
|   | 
|   | operator typename std::conditional< STRIDED, DeleteReturnType01, Block< const InterfaceReference *const, true, MOVE >>::type () const | 
|   | 
|   | operator typename std::conditional< STRIDED||CONSTBLOCK, DeleteReturnType02, Block< const const InterfaceReference *const, true, MOVE >>::type () const | 
|   | 
|   | operator typename std::conditional< CONSTBLOCK, DeleteReturnType03, const Block< const const InterfaceReference *const, STRIDED, MOVE > & >::type () const | 
|   | 
|   | operator typename std::conditional< STRIDED||!MOVE, DeleteReturnType04, Block< const InterfaceReference *const, true, false >>::type () const | 
|   | 
|   | operator typename std::conditional< STRIDED||!MOVE||CONSTBLOCK, DeleteReturnType05, Block< const const InterfaceReference *const, true, false >>::type () const | 
|   | 
|   | operator typename std::conditional<!MOVE||CONSTBLOCK, DeleteReturnType06, const Block< const const InterfaceReference *const, STRIDED, false > & >::type () const | 
|   | 
|   | operator typename std::conditional<!MOVE, DeleteReturnType07, const Block< const InterfaceReference *const, STRIDED, false > & >::type () const | 
|   | 
|   | operator typename std::conditional< GENERIC, DeleteReturnType08, const Block< typename InheritConst< Generic, const InterfaceReference *const >::type, STRIDED > & >::type () const | 
|   | 
|   | operator typename std::conditional< BYTE_OR_CHAR, const Block< typename InheritConst< SwapByteChar, const InterfaceReference *const >::type, STRIDED >, DeleteReturnType09 >::type & () const | 
|   | 
|   | operator typename std::conditional< BYTE_OR_CHAR &&!CONSTBLOCK, const Block< const SwapByteChar, STRIDED >, const DeleteReturnType09 >::type & () const | 
|   | 
| const InterfaceReference *const *  | GetFirst () const | 
|   | 
| void  | SetFirst (const InterfaceReference *const *value) | 
|   | 
| const InterfaceReference *const *  | GetLast () const | 
|   | 
| const InterfaceReference *const &  | operator[] (Int index) const | 
|   | 
| Block  | Slice (Int start) const | 
|   | 
| Block  | Slice (Int start, Int end) const | 
|   | 
| Bool  | StartsWith (const Block &prefix) const | 
|   | 
| Bool  | EndsWith (const Block &suffix) const | 
|   | 
| Iterator  | Begin () const | 
|   | 
| Iterator  | End () const | 
|   | 
| Int  | GetCapacityCount () const | 
|   | 
| Result< void >  | CopyValuesFrom (const Block< T2, S2, M2 > &other) | 
|   | 
| Result< void >  | ConstructValuesFrom (const Block< T2, S2, M2 > &other) | 
|   | 
| Int  | GetMemorySize () const | 
|   | 
| Int  | GetBlock (Int index, Block< const const InterfaceReference *const, false > &block) const | 
|   | 
| Int  | GetBlock (Int index, typename std::conditional< CONSTBLOCK, DeleteReturnType01, Block< const InterfaceReference *const, false > & >::type block) const | 
|   | 
| Int  | GetBlock (Int index, typename std::conditional< CONSTBLOCK, DeleteReturnType02, StridedBlock< const InterfaceReference *const > & >::type block) const | 
|   | 
| Int  | GetBlock (Int index, StridedBlock< const const InterfaceReference *const > &block) const | 
|   | 
| UniqueHash  | GetUniqueHashCode () const | 
|   | 
| void  | CombineUniqueHash (UniqueHasher &hash) const | 
|   | 
| std::enable_if<!STRIDED &&std::is_same< BLOCK, Block >::value, Bool >::type  | IsEqualImpl (const BLOCK &other, COMPARE &&cmp, OverloadRank1) const | 
|   | 
| const InterfaceReference *const *  | GetPtr (Int index) const | 
|   | 
| constexpr MAXON_ATTRIBUTE_FORCE_INLINE  | ArrayBase (ARGS &&... args) | 
|   | 
| ArrayImpl< Block< const InterfaceReference *const, STRIDED, MOVE > & >  | ToArray () | 
|   | 
| ArrayImpl< const Block< const InterfaceReference *const, STRIDED, MOVE > & >  | ToArray () const | 
|   | 
| MAXON_ATTRIBUTE_FORCE_INLINE  | operator ArrayImpl< Block< const InterfaceReference *const, STRIDED, MOVE > & > () | 
|   | 
| MAXON_ATTRIBUTE_FORCE_INLINE  | operator ArrayImpl< const Block< const InterfaceReference *const, STRIDED, MOVE > & > () const | 
|   | 
| template<typename... ARGS>  | 
| constexpr MAXON_ATTRIBUTE_FORCE_INLINE  | ArrayBase0 (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 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, COMPARERESULT >::type  | Compare (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const | 
|   | 
| 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 >  | CopyValuesFrom (const COLLECTION2 &src, Int srcStart=0, Int start=0, Int count=-1) | 
|   | 
| template<typename COLLECTION2 >  | 
| Result< void >  | SubtractImpl (COLLECTION2 &&other, OverloadRank0) | 
|   | 
| template<typename COLLECTION2 , typename COMPARE >  | 
| Bool  | IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0) const | 
|   | 
| template<typename COLLECTION2 , typename COMPARE >  | 
| COMPARERESULT  | CompareImpl (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 | 
|   | 
| static const Block &  | DefaultValueRef () | 
|   | 
| static const VALUETYPE &  | GetMapKey (const VALUETYPE &key) | 
|   | 
|   | VALUETYPE | 
|   |