ArrayMapSortedArray< ARRAY, ENTRY, COMPARE > Class Template Reference

#include <arraymap.h>

Inheritance diagram for ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >:

Public Types

using Super = SortedArray< ArrayMapSortedArray, typename ARRAY::template Type< ENTRY > >
 
- Public Types inherited from SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY::template Type< ENTRY > >
using TYPE = typename ARRAY::ValueType
 
using Iterator = typename ARRAY::Iterator
 
using ConstIterator = typename ARRAY::ConstIterator
 
- Public Types inherited from Collection< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, EmptyClass >
using Super = BaseCollection< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, EmptyClass >
 
using ValueType = ARRAY::ValueType
 
- Public Types inherited from BaseCollection< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, EmptyClass >
using IsCollection = std::true_type
 

Public Member Functions

 ArrayMapSortedArray ()
 
 ArrayMapSortedArray (ArrayMapSortedArray &&src)
 
 MAXON_OPERATOR_MOVE_ASSIGNMENT (ArrayMapSortedArray)
 
- Public Member Functions inherited from SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY::template Type< ENTRY > >
 SortedArray ()
 
 SortedArray (const typename ARRAY::AllocatorType &a)
 
 SortedArray (SortedArray &&src)
 
 ~SortedArray ()
 
 MAXON_OPERATOR_MOVE_ASSIGNMENT (SortedArray)
 
void Reset ()
 
void Flush ()
 
ResultMem SetCapacityHint (Int requestedCapacity, COLLECTION_RESIZE_FLAGS resizeFlags=COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY)
 
Int GetCount () const
 
Int GetCapacityCount () const
 
const TYPEoperator[] (Int idx) const
 
ResultRef< TYPEAppend ()
 
ResultRef< TYPEAppend (const TYPE &x)
 
ResultRef< TYPEAppend (TYPE &&x)
 
ResultPtr< TYPEAppendPtr (TYPE *x)
 
Bool PopPtr (TYPE **dst)
 
ResultRef< TYPEInsert (Int position)
 
ResultMemT< IteratorInsert (Iterator position)
 
ResultRef< TYPEInsert (Int position, const TYPE &x)
 
ResultMemT< IteratorInsert (Iterator position, const TYPE &x)
 
ResultRef< TYPEInsert (Int position, TYPE &&x)
 
ResultMemT< IteratorInsert (Iterator position, TYPE &&x)
 
ResultPtr< TYPEInsert (Int position, const Block< const TYPE > &values)
 
ResultMemT< IteratorInsert (Iterator position, const Block< const TYPE > &values)
 
ResultPtr< TYPEInsertPtr (Int position, TYPE *x)
 
ResultPtr< TYPEErase (Int position, Int eraseCnt=1)
 
Iterator Erase (Iterator position, Int eraseCnt=1)
 
ResultPtr< TYPEErasePtr (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 TYPEGetFirst () const
 
TYPEGetFirst ()
 
const TYPEGetLast () const
 
TYPEGetLast ()
 
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 ()
 
TYPEFindValue (const SEARCH &key)
 
const TYPEFindValue (const SEARCH &key) const
 
Int FindIndex (const SEARCH &key) const
 
ResultRef< TYPEInsertValue (const SEARCH &key)
 
ResultRef< TYPEInsertValue (const SEARCH &key, Bool &newElement, Int *index=nullptr)
 
ARRAYGetUnderlyingArray ()
 
const ARRAYGetUnderlyingArray () const
 
- Public Member Functions inherited from ArrayBase< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, EmptyClass, ArrayMapSortedArray< ARRAY, ENTRY, COMPARE > >
MAXON_ATTRIBUTE_FORCE_INLINE ArrayBase (ARGS &&... args)
 
ArrayImpl< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > & > ToArray ()
 
ArrayImpl< const SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > & > ToArray () const
 
MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > & > ()
 
MAXON_ATTRIBUTE_FORCE_INLINE operator ArrayImpl< const SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > & > () const
 
- Public Member Functions inherited from ArrayBase0< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, EmptyClass, ArrayMapSortedArray< ARRAY, ENTRY, COMPARE > >
MAXON_ATTRIBUTE_FORCE_INLINE ArrayBase0 (ARGS &&... args)
 
Bool IsValidIndex (Int index) const
 
Result< void > CheckValidIndex (Int index) const
 
Int FindIndex (typename ByValueParam< ARRAY::ValueType >::type v, Int start) const
 
Int FindLastIndex (typename ByValueParam< ARRAY::ValueType >::type v) const
 
Int FindLastIndex (typename ByValueParam< ARRAY::ValueType >::type v, Int start) const
 
Bool EraseFirst (typename ByValueParam< ARRAY::ValueType >::type v)
 
Int EraseAll (typename ByValueParam< ARRAY::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 > Add (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
 
UInt GetHashCode () const
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > > Slice (Int start)
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > > Slice (Int start) const
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > > Slice (Int start, Int end)
 
MAXON_ATTRIBUTE_FORCE_INLINE AutoIterator< const SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false > > Slice (Int start, Int end) const
 
BlockIterator< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, false, false > GetBlocks ()
 
BlockIterator< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, true, false > GetBlocks () const
 
BlockIterator< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, false, true > GetStridedBlocks ()
 
BlockIterator< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, true, true > GetStridedBlocks () const
 
- Public Member Functions inherited from Collection< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, EmptyClass >
MAXON_ATTRIBUTE_FORCE_INLINE Collection (ARGS &&... args)
 
ResultOk< void > VariadicAppend ()
 
Result< void > VariadicAppend (V &&value, VALUES &&... rest)
 
 operator ValueReceiver< const ARRAY::ValueType & > ()
 
 operator ValueReceiver< ARRAY::ValueType && > ()
 
 operator ValueReceiver< typename std::conditional< STD_IS_REPLACEMENT (scalar, ARRAY::ValueType)
 
DummyParamType & type ()
 
Result< BoolForEach (FN &&callback) const
 
Result< BoolForEach (FN &&callback)
 
H::Iterator Find (typename ByValueParam< ARRAY::ValueType >::type v)
 
H::ConstIterator Find (typename ByValueParam< ARRAY::ValueType >::type v) const
 
Int FindIndex (typename ByValueParam< ARRAY::ValueType >::type v) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool Contains (typename ByValueParam< ARRAY::ValueType >::type v) const
 
- Public Member Functions inherited from BaseCollection< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, 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) const
 
MAXON_ATTRIBUTE_FORCE_INLINE Bool ContainsAll (COLLECTION2 &&other) const
 
Bool ContainsAllImpl (COLLECTION2 &&other, OverloadRank0) const
 

Static Public Member Functions

static Bool LessThan (const ENTRY &a, const ENTRY &b)
 
static Bool IsEqual (const ENTRY &a, const ENTRY &b)
 
template<typename KEY >
static Bool LessThan (const KEY &a, const ENTRY &b)
 
template<typename KEY >
static Bool IsEqual (const KEY &a, const ENTRY &b)
 
template<typename KEY >
static Bool LessThan (const ENTRY &a, const KEY &b)
 
static UInt GetHashCode (const ENTRY &a)
 
- Static Public Member Functions inherited from Collection< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, EmptyClass >
static const ARRAY::ValueType & GetMapKey (const ARRAY::ValueType &key)
 

Additional Inherited Members

- Public Attributes inherited from Collection< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, EmptyClass >
 VALUETYPE
 
- Static Public Attributes inherited from ArrayBase0< SortedArray< ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >, ARRAY, BASESORTFLAGS::NONE, false >, ARRAY::ValueType, EmptyClass, ArrayMapSortedArray< ARRAY, ENTRY, COMPARE > >
static const COLLECTION_KIND KIND
 

Member Typedef Documentation

◆ Super

using Super = SortedArray<ArrayMapSortedArray, typename ARRAY::template Type<ENTRY> >

Constructor & Destructor Documentation

◆ ArrayMapSortedArray() [1/2]

◆ ArrayMapSortedArray() [2/2]

ArrayMapSortedArray ( ArrayMapSortedArray< ARRAY, ENTRY, COMPARE > &&  src)

Member Function Documentation

◆ MAXON_OPERATOR_MOVE_ASSIGNMENT()

MAXON_OPERATOR_MOVE_ASSIGNMENT ( ArrayMapSortedArray< ARRAY, ENTRY, COMPARE >  )

◆ LessThan() [1/3]

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

◆ IsEqual() [1/2]

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

◆ LessThan() [2/3]

static Bool LessThan ( const KEY &  a,
const ENTRY &  b 
)
static

◆ IsEqual() [2/2]

static Bool IsEqual ( const KEY &  a,
const ENTRY &  b 
)
static

◆ LessThan() [3/3]

static Bool LessThan ( const ENTRY &  a,
const KEY &  b 
)
static

◆ GetHashCode()

static UInt GetHashCode ( const ENTRY &  a)
static