ArrayBase< COLLECTION, VALUETYPE, SUPER, HASH > Class Template Reference Data Structures

#include <collection.h>

Inheritance diagram for ArrayBase< COLLECTION, VALUETYPE, SUPER, HASH >:

详细描述

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.
另请参阅
$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
-  Public Member Functions inherited from ArrayBase0< COLLECTION, VALUETYPE, SUPER, HASH >
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 >  添加 (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
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < COLLECTION >  切片 ( Int start)
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < const COLLECTION >  切片 ( Int start) const
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < COLLECTION >  切片 ( Int start, Int end )
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < const COLLECTION >  切片 ( 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
-  Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
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
-  Public Member Functions inherited from BaseCollection< COLLECTION, SUPER >
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

Private Types

using  Super = ArrayBase0 < COLLECTION, VALUETYPE , SUPER, HASH >

Additional Inherited Members

-  Public Types inherited from Collection< COLLECTION, VALUETYPE, SUPER >
using  Super = BaseCollection < COLLECTION, SUPER >
using  ValueType = VALUETYPE
-  Public Types inherited from BaseCollection< COLLECTION, SUPER >
using  IsCollection = std::true_type
-  Static Public Member Functions inherited from Collection< COLLECTION, VALUETYPE, SUPER >
static const VALUETYPE GetMapKey (const VALUETYPE &key)
-  Public Attributes inherited from Collection< COLLECTION, VALUETYPE, SUPER >
  VALUETYPE
-  Static Public Attributes inherited from ArrayBase0< COLLECTION, VALUETYPE, SUPER, HASH >
static const COLLECTION_KIND   KIND

Member Typedef Documentation

◆  Super

using Super = ArrayBase0 <COLLECTION, VALUETYPE , SUPER, HASH>
private

构造函数 & 析构函数文档编制

◆  ArrayBase()

MAXON_ATTRIBUTE_FORCE_INLINE ArrayBase ( ARGS &&...  args )
explicit

成员函数文档编制

◆  ToArray() [1/2]

ArrayImpl < const COLLECTION & > ToArray

◆  ToArray() [2/2]

ArrayImpl <const COLLECTION&> ToArray ( ) const

◆  operator ArrayImpl< COLLECTION & >()

MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl < COLLECTION & > ( )

◆  operator ArrayImpl< const COLLECTION & >()

MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl < const COLLECTION & > ( ) const