template<typename TYPE>
class maxon::NonConstArray< TYPE >
Helper class for the WritableArrayInterface macro. A WritableArrayInterface& parameter is actually a const NonConstArray& parameter, so temporary objects resulting from a conversion of some array to the NonConstArray interface may be bound to such a parameter (this wouldn't be possible if the parameter was non-const). To be able to invoke modifying functions on such a parameter, those functions are implemented as const functions in this class. 
 | 
| const NonConstArray &  | ToArray () const | 
|   | 
| NonConstArray &  | ToArray () | 
|   | 
|   | operator const NonConstArray< typename std::conditional< STD_IS_REPLACEMENT (same, TYPE, Generic) | 
|   | 
| TYPE &  | operator[] (Int index) const | 
|   | 
| Int  | GetBlock (Int index, Block< TYPE, false > &block) const | 
|   | 
| Int  | GetBlock (Int index, Block< TYPE, true > &block) const | 
|   | 
| ResultMem  | Resize (Int count, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT) const | 
|   | 
| ResultMem  | SetCapacityHint (Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) const | 
|   | 
| ResultRef< TYPE >  | Insert (Int index) const | 
|   | 
| ResultMem  | Insert (Int index, const Block< const TYPE > &values) const | 
|   | 
| ResultMem  | Insert (Int index, const MoveBlock< TYPE > &values) const | 
|   | 
| ResultRef< TYPE >  | Append () const | 
|   | 
| ResultRef< TYPE >  | Append (const TYPE &value) const | 
|   | 
| ResultRef< TYPE >  | Append (TYPE &&value) const | 
|   | 
| template<typename T >  | 
| ResultRef< TYPE >  | Append (T &&value) const | 
|   | 
| ResultMem  | Erase (Int index, Int count=1) const | 
|   | 
| ResultMem  | SwapErase (Int index, Int count=1) const | 
|   | 
| void  | Reset () const | 
|   | 
| void  | Flush () const | 
|   | 
| Result< void >  | CopyFrom (const Super &other) const | 
|   | 
| ConstIterator  | Begin () const | 
|   | 
| ConstIterator  | End () const | 
|   | 
| template<typename COLLECTION2 >  | 
| Result< void >  | AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) const | 
|   | 
| template<typename COLLECTION2 >  | 
| Result< void >  | CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE) const | 
|   | 
|   | MAXON_ADD_TO_COPY_ON_WRITE_REFERENCE_CLASS (public:using ValueType=TYPE;) | 
|   | 
|   | MAXON_ADD_TO_CONST_REFERENCE_CLASS (public:using S::GetBlock;) | 
|   | 
| TYPE &  | operator[] (Int index) | 
|   | 
| MAXON_METHOD Int  | GetBlock (Int index, Block< const TYPE > &block) const | 
|   | 
| Int  | GetBlock (Int index, Block< typename Super::NonConstValueType > &block) | 
|   | 
| MAXON_METHOD Result< void >  | PrivateInsert (Int index, const StridedBlock< const TYPE > &values, Bool move, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) | 
|   | 
| MAXON_METHOD ResultMem  | Resize (Int count, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT) | 
|   | 
| MAXON_METHOD ResultMem  | SetCapacityHint (Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY) | 
|   | 
| MAXON_METHOD ResultRef< TYPE >  | Insert (Int index) | 
|   | 
| MAXON_FUNCTION ResultRef< TYPE >  | Insert (Int index, const TYPE &value) | 
|   | 
| MAXON_FUNCTION ResultRef< TYPE >  | Insert (Int index, TYPE &&value) | 
|   | 
| MAXON_METHOD ResultMem  | Insert (Int index, const Block< const TYPE > &values) | 
|   | 
| MAXON_METHOD ResultMem  | Insert (Int index, const MoveBlock< TYPE > &values) | 
|   | 
| MAXON_FUNCTION ResultMem  | InsertBlock (Int index, const Block< const TYPE > &values) | 
|   | 
| MAXON_FUNCTION ResultMem  | InsertBlock (Int index, const MoveBlock< TYPE > &values) | 
|   | 
| MAXON_METHOD ResultRef< TYPE >  | Append () | 
|   | 
| MAXON_FUNCTION ResultRef< TYPE >  | Append (const TYPE &value) | 
|   | 
| MAXON_FUNCTION ResultRef< TYPE >  | Append (TYPE &&value) | 
|   | 
| template<typename A >  | 
| MAXON_FUNCTION ResultRef< TYPE >  | Append (A &&value) | 
|   | 
| MAXON_FUNCTION Bool  | Pop () | 
|   | 
| MAXON_FUNCTION Bool  | Pop (TYPE *dst) | 
|   | 
| MAXON_METHOD ResultMem  | Erase (Int index, Int count=1) | 
|   | 
| template<typename C >  | 
| ArrayInterface::template IteratorTemplate< C >  | Erase (const typename ArrayInterface::template IteratorTemplate< C > &it) | 
|   | 
| MAXON_METHOD ResultMem  | SwapErase (Int index, Int count=1) | 
|   | 
| MAXON_METHOD void  | Reset () | 
|   | 
| MAXON_METHOD void  | Flush () | 
|   | 
| MAXON_METHOD Result< void >  | CopyFrom (const ArrayInterface &other) | 
|   | 
| MAXON_METHOD void  | SetPersistentIdGenerator (const PersistentIdGenerator &generator) | 
|   | 
| MAXON_METHOD Int  | GetMemorySize () const | 
|   | 
| template<typename DT >  | 
| MAXON_FUNCTION Bool  | HasType () const | 
|   | 
| template<typename DT >  | 
| MAXON_FUNCTION void  | AssertType () const | 
|   | 
| template<typename T2 >  | 
| ArrayInterface< T2 > &  | AssertCast () | 
|   | 
| template<typename T2 >  | 
| const ArrayInterface< T2 > &  | AssertCast () const | 
|   | 
|   | operator const ArrayInterface< const TYPE > & () const | 
|   | 
|   | operator const ArrayInterface< typename std::conditional< STD_IS_REPLACEMENT (same, const TYPE, const Generic) | 
|   | 
|   | operator ArrayInterface< typename std::conditional< STD_IS_REPLACEMENT (same, TYPE, Generic) | 
|   | 
| Generic ::type &  | operator const NonConstArray< TYPE > & () | 
|   | 
|   | operator const NonConstArray< typename std::conditional< STD_IS_REPLACEMENT (same, TYPE, Generic) | 
|   | 
|   | MAXON_ADD_TO_CONST_REFERENCE_CLASS (using Iterator=typename ArrayInterface::ConstIterator;using ConstIterator=typename ArrayInterface::ConstIterator;) | 
|   | 
| MAXON_FUNCTION ArrayInterface< TYPE >::ConstIterator  | Begin () const | 
|   | 
| Iterator  | Begin () | 
|   | 
| MAXON_FUNCTION ArrayInterface< TYPE >::ConstIterator  | End () const | 
|   | 
| Iterator  | End () | 
|   | 
| MAXON_METHOD Int  | GetBlock (Int index, SimdBlock< const TYPE > &block) const | 
|   | 
| MAXON_FUNCTION Int  | GetBlock (Int index, StridedBlock< const TYPE > &block) const | 
|   | 
| Int  | GetBlock (Int index, Block< const TYPE, false > &block) const | 
|   | 
| MAXON_METHOD Result< Int >  | GetBlock (Int index, SimdBlock< NonConstValueType > &block) | 
|   | 
| Int  | GetBlock (Int index, StridedBlock< NonConstValueType > &block) | 
|   | 
| constexpr MAXON_ATTRIBUTE_FORCE_INLINE  | ArrayBase0 (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, 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, 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< TYPE >::type v, Int start) const | 
|   | 
| Int  | FindLastIndex (typename ByValueParam< TYPE >::type v) const | 
|   | 
| Int  | FindLastIndex (typename ByValueParam< TYPE >::type v, Int start) const | 
|   | 
| Bool  | EraseFirst (typename ByValueParam< TYPE >::type v) | 
|   | 
| Int  | EraseAll (typename ByValueParam< TYPE >::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 >  | CopyValuesFrom (const COLLECTION2 &src, Int srcStart=0, Int start=0, Int count=-1) | 
|   | 
| Result< void >  | SubtractImpl (COLLECTION2 &&other, OverloadRank0) | 
|   | 
| Bool  | IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0) const | 
|   | 
| COMPARERESULT  | CompareImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0) const | 
|   | 
| HashInt  | GetHashCode () const | 
|   | 
| UniqueHash  | GetUniqueHashCode () const | 
|   | 
| MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< ArrayInterface< TYPE > >  | Slice (Int start) | 
|   | 
| MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const ArrayInterface< TYPE > >  | Slice (Int start) const | 
|   | 
| MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< ArrayInterface< TYPE > >  | Slice (Int start, Int end) | 
|   | 
| MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const ArrayInterface< TYPE > >  | Slice (Int start, Int end) const | 
|   | 
| BlockIterator< ArrayInterface< TYPE >, TYPE, false, false >  | GetBlocks () | 
|   | 
| BlockIterator< ArrayInterface< TYPE >, TYPE, true, false >  | GetBlocks () const | 
|   | 
| BlockIterator< ArrayInterface< TYPE >, TYPE, false, true >  | GetStridedBlocks () | 
|   | 
| BlockIterator< ArrayInterface< TYPE >, TYPE, 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 | 
|   |