DefaultSortedArray< T > Class Template Reference Data Structures

#include <sortedarray.h>

Inheritance diagram for DefaultSortedArray< T >:

详细描述

template<typename T>
class maxon::DefaultSortedArray< T >

Sorted array template for data types which provide an operator < and operator ==.

Usage is simply

DefaultSortedArray<Int> a; a.Append(2) iferr_return ; a.Append(1) iferr_return ; if (a[0] > a[1]) ...
Template Parameters
T Type of the array elements.

公共成员函数

  DefaultSortedArray ()
  DefaultSortedArray ( DefaultSortedArray && src )
  MAXON_OPERATOR_MOVE_ASSIGNMENT ( DefaultSortedArray )
-  Public Member Functions inherited from SortedArray< DefaultSortedArray< T >, BaseArray< T > >
  SortedArray ()
  SortedArray (const typename BaseArray < T > ::AllocatorType &a)
  SortedArray ( SortedArray &&src)
  ~SortedArray ()
  MAXON_OPERATOR_MOVE_ASSIGNMENT ( SortedArray )
void  重置 ()
void  Flush ()
ResultMem   SetCapacityHint ( Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
Int   GetCount () const
Int   GetCapacityCount () const
const TYPE &  operator[] ( Int idx) const
ResultRef < TYPE >  Append ()
ResultRef < TYPE >  Append (const TYPE &x)
ResultRef < TYPE >  Append ( TYPE &&x)
ResultPtr < TYPE >  AppendPtr ( TYPE *x)
Bool   PopPtr ( TYPE **dst)
ResultRef < TYPE >  Insert ( Int position)
ResultMemT < Iterator >  Insert ( Iterator position)
ResultRef < TYPE >  Insert ( Int position, const TYPE &x)
ResultMemT < Iterator >  Insert ( Iterator position, const TYPE &x)
ResultRef < TYPE >  Insert ( Int position, TYPE &&x)
ResultMemT < Iterator >  Insert ( Iterator position, TYPE &&x)
ResultPtr < TYPE >  Insert ( Int position, const Block < const TYPE > &values)
ResultMemT < Iterator >  Insert ( Iterator position, const Block < const TYPE > &values)
ResultPtr < TYPE >  InsertPtr ( Int position, TYPE *x)
ResultPtr < TYPE >  Erase ( Int position, Int eraseCnt=1)
Iterator   Erase ( Iterator position, Int eraseCnt=1)
ResultPtr < TYPE >  ErasePtr ( Int position, TYPE **dst)
ResultMem   SwapErase ( Int position, Int eraseCnt=1)
Iterator   SwapErase ( Iterator position, Int eraseCnt=1)
Int   GetBlock ( Int position, Block < TYPE , STRIDED > &block)
Int   GetBlock ( Int position, Block < const TYPE , STRIDED > &block) const
Bool   EraseKey (const SEARCH &key)
const TYPE *  GetFirst () const
TYPE *  GetFirst ()
const TYPE *  GetLast () const
TYPE *  GetLast ()
ResultMem   Resize ( Int newCnt, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::DEFAULT)
Bool   Pop ( TYPE *dst=nullptr)
Int   GetIndex (const TYPE &x) const
Result < void >  CopyFrom (const SortedArray &src)
Result < void >  CopyFrom (COLLECTION2 &&other)
void  Swap ( Iterator a, Iterator b)
Int   GetMemorySize () const
ConstIterator   Begin () const
Iterator   Begin ()
ConstIterator   End () const
Iterator   End ()
void  SortChanged ()
void  Sort ()
TYPE *  FindValue (const SEARCH &key)
const TYPE *  FindValue (const SEARCH &key) const
Int   FindIndex (const SEARCH &key) const
ResultRef < TYPE >  InsertValue (const SEARCH &key)
ResultRef < TYPE >  InsertValue (const SEARCH &key, Bool &newElement, Int *index=nullptr)
BaseArray < T > &  GetUnderlyingArray ()
const BaseArray < T > &  GetUnderlyingArray () const
-  Public Member Functions inherited from ArrayBase< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, BaseArray< T > ::ValueType, EmptyClass, DefaultSortedArray< T > >
MAXON_ATTRIBUTE_FORCE_INLINE   ArrayBase (ARGS &&... args)
ArrayImpl < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false > & >  ToArray ()
ArrayImpl < const SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false > & >  ToArray () const
MAXON_ATTRIBUTE_FORCE_INLINE   operator ArrayImpl< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false > & > ()
MAXON_ATTRIBUTE_FORCE_INLINE   operator ArrayImpl< const SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false > & > () const
-  Public Member Functions inherited from ArrayBase0< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, BaseArray< T > ::ValueType, EmptyClass, DefaultSortedArray< T > >
MAXON_ATTRIBUTE_FORCE_INLINE   ArrayBase0 (ARGS &&... args)
Bool   IsValidIndex ( Int index) const
Result < void >  CheckValidIndex ( Int index) const
Int   FindIndex (typename ByValueParam < BaseArray < T > :: ValueType >:: type v, Int start) const
Int   FindLastIndex (typename ByValueParam < BaseArray < T > :: ValueType >:: type v) const
Int   FindLastIndex (typename ByValueParam < BaseArray < T > :: ValueType >:: type v, Int start) const
Bool   EraseFirst (typename ByValueParam < BaseArray < T > :: ValueType >:: type v)
Int   EraseAll (typename ByValueParam < BaseArray < T > :: ValueType >:: 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 >  添加 (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
Result < void >  SubtractImpl (COLLECTION2 &&other, OverloadRank0 )
Bool   IsEqualImpl (const COLLECTION2 &other, COMPARE &&cmp, OverloadRank0 ) const
HashInt   GetHashCode () const
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false > >  切片 ( Int start)
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < const SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false > >  切片 ( Int start) const
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false > >  切片 ( Int start, Int end)
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator < const SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false > >  切片 ( Int start, Int end) const
BlockIterator < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false >, BaseArray < T > :: ValueType , false, false >  GetBlocks ()
BlockIterator < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false >, BaseArray < T > :: ValueType , true, false >  GetBlocks () const
BlockIterator < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false >, BaseArray < T > :: ValueType , false, true >  GetStridedBlocks ()
BlockIterator < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false >, BaseArray < T > :: ValueType , true, true >  GetStridedBlocks () const
-  Public Member Functions inherited from Collection< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, BaseArray< T > ::ValueType, EmptyClass >
MAXON_ATTRIBUTE_FORCE_INLINE   Collection (ARGS &&... args)
ResultOk < void >  VariadicAppend ()
Result < void >  VariadicAppend (V &&value, VALUES &&... rest)
  operator ValueReceiver< const BaseArray< T > ::ValueType & > ()
  operator ValueReceiver< BaseArray< T > ::ValueType && > ()
  operator ValueReceiver< typename std::conditional< STD_IS_REPLACEMENT (scalar, BaseArray < T > :: ValueType )
DummyParamType &  type ()
Result < Bool >  ForEach (FN &&callback) const
Result < Bool >  ForEach (FN &&callback)
H::Iterator  Find (typename ByValueParam < BaseArray < T > :: ValueType >:: type v)
H::ConstIterator  Find (typename ByValueParam < BaseArray < T > :: ValueType >:: type v) const
Int   FindIndex (typename ByValueParam < BaseArray < T > :: ValueType >:: type v) const
MAXON_ATTRIBUTE_FORCE_INLINE Bool   Contains (typename ByValueParam < BaseArray < T > :: ValueType >:: type v) const
-  Public Member Functions inherited from BaseCollection< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, EmptyClass >
MAXON_ATTRIBUTE_FORCE_INLINE   BaseCollection (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 &&! STD_IS_REPLACEMENT (same, typename std::decay< COMPARE >::type, EQUALITY ), Bool >::type  IsEqual (const COLLECTION2 &other, COMPARE &&cmp=COMPARE()) const
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  CopyFrom (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE )
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  Subtract (COLLECTION2 &&other)
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  Intersect (const COLLECTION2 &other)
Bool   Intersects (const COLLECTION2 &other) const
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  CopyFromImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, OverloadRank0 )
Result < void >  AppendAllImpl (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags, Bool overwrite, OverloadRank0 )
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
MAXON_ATTRIBUTE_FORCE_INLINE Bool   ContainsAll (COLLECTION2 &&other) const
Bool   ContainsAllImpl (COLLECTION2 &&other, OverloadRank0 ) const

静态公共成员函数

static Bool   LessThan (const T &a, const T &b)
static Bool   IsEqual (const T &a, const T &b)
template<typename SEARCH >
static void  InitInsertData (T &initme, const SEARCH &key)
-  Static Public Member Functions inherited from Collection< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, BaseArray< T > ::ValueType, EmptyClass >
static const BaseArray < T > :: ValueType &  GetMapKey (const BaseArray < T > :: ValueType &key)

Additional Inherited Members

-  Public Types inherited from SortedArray< DefaultSortedArray< T >, BaseArray< T > >
using  TYPE = typename BaseArray < T > :: ValueType
using  Iterator = typename BaseArray < T > :: Iterator
using  ConstIterator = typename BaseArray < T > :: ConstIterator
-  Public Types inherited from Collection< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, BaseArray< T > ::ValueType, EmptyClass >
using  Super = BaseCollection < SortedArray < DefaultSortedArray < T >, BaseArray < T >, BASESORTFLAGS::NONE, false >, EmptyClass >
using  ValueType = BaseArray < T > :: ValueType
-  Public Types inherited from BaseCollection< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, EmptyClass >
using  IsCollection = std::true_type
-  Public Attributes inherited from Collection< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, BaseArray< T > ::ValueType, EmptyClass >
  VALUETYPE
-  Static Public Attributes inherited from ArrayBase0< SortedArray< DefaultSortedArray< T >, BaseArray< T >, BASESORTFLAGS::NONE, false >, BaseArray< T > ::ValueType, EmptyClass, DefaultSortedArray< T > >
static const COLLECTION_KIND   KIND

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

◆  DefaultSortedArray() [1/2]

DefaultSortedArray ( )

◆  DefaultSortedArray() [2/2]

DefaultSortedArray ( DefaultSortedArray < T > &&  src )

成员函数文档编制

◆  MAXON_OPERATOR_MOVE_ASSIGNMENT()

MAXON_OPERATOR_MOVE_ASSIGNMENT ( DefaultSortedArray < T >  )

◆  LessThan()

static Bool LessThan ( const T &  a ,
const T &  b  
)
static

◆  IsEqual()

static Bool IsEqual ( const T &  a ,
const T &  b  
)
static

◆  InitInsertData()

static void InitInsertData ( T &  initme ,
const SEARCH &  key  
)
static
iferr_return
#define iferr_return
定义: resultbase.h:1434