template<typename COLLECTION, typename VALUETYPE, typename SUPER, typename HASH>
class maxon::ArrayBase< COLLECTION, VALUETYPE, SUPER, HASH >
ArrayBase is a helper template to be used as base class for array- or list-like collections. It will add iterator-based utility functions such as ToString, Find, AppendAll or EraseFirst. 
- Template Parameters
 - 
  
    | COLLECTION | The actual collection class, this has to have Collection as (direct or indirect) base class.  | 
    | VALUETYPE | The type of values stored in the collection.  | 
    | SUPER | The class to be used as base class for Collection.  | 
    | HASH | The hash class to be used for elements of the collection.  | 
  
   
- See also
 - $ref arrays 
 
 | 
| 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 | 
|   | 
| UInt  | GetHashCode () 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_scalar< VALUETYPE >::value, VALUETYPE, DummyParamType & >::type > () | 
|   | 
| 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_same< typename std::decay< COMPARE >::type, EQUALITY >::value, 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) const | 
|   | 
| template<typename COLLECTION2 >  | 
| MAXON_ATTRIBUTE_FORCE_INLINE Bool  | ContainsAll (COLLECTION2 &&other) const | 
|   | 
| template<typename COLLECTION2 >  | 
| Bool  | ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const | 
|   |