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

#include <collection.h>

Inheritance diagram for MapBase< COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH >:

详细描述

template<typename COLLECTION, typename KEYTYPE, typename VALUETYPE, typename SUPER, typename HASH>
class maxon::MapBase< COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH >

MapBase is a helper template to be used as base class for map-like collections. It will add iterator-based utility functions such as ToString, Find or AppendAll.

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 maps

公共成员函数

template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE   MapBase (ARGS &&... args)
MapImpl < COLLECTION & >  ToMap ()
MapImpl < const COLLECTION & >  ToMap () const
MAXON_ATTRIBUTE_FORCE_INLINE   operator MapImpl< COLLECTION & > ()
MAXON_ATTRIBUTE_FORCE_INLINE   operator MapImpl< const COLLECTION & > () const
-  Public Member Functions inherited from MapBase0< COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH >
template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE   MapBase0 (ARGS &&... args)
MAXON_ATTRIBUTE_FORCE_INLINE Bool   Contains (typename ByValueParam < KEYTYPE >::type key) const
template<typename PAIR >
MAXON_ATTRIBUTE_FORCE_INLINE SFINAEHelper < Bool , typename PAIR::KeyType >::type  Contains (const PAIR &pair) const
ResultRef < VALUETYPE >  Append (const KEYTYPE &key)
template<typename PAIR >
SFINAEHelper < ResultRef < VALUETYPE >, typename PAIR::KeyType >::type  Append (const PAIR &pair)
template<typename COLLECTION2 >
Result < void >  添加 (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
template<typename COLLECTION2 >
Result < void >  AppendAll (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
template<typename COLLECTION2 >
Result < void >  AppendAllInverse (COLLECTION2 &&other)
template<typename COLLECTION2 >
Bool   ContainsAllImpl (COLLECTION2 &&other, OverloadRank0 ) const
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
-  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 = MapBase0 < COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH >

Additional Inherited Members

-  Public Types inherited from MapBase0< COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH >
using  MapType = COLLECTION
using  Super = BaseCollection < COLLECTION, SUPER >
using  KeyType = KEYTYPE
using  ValueType = VALUETYPE
-  Public Types inherited from BaseCollection< COLLECTION, SUPER >
using  IsCollection = std::true_type
-  Static Public Member Functions inherited from MapBase0< COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH >
static const KEYTYPE &  GetMapKey (const KEYTYPE &key)
template<typename PAIR >
static const KEYTYPE &  GetMapKey (const PAIR &pair)
-  Static Public Attributes inherited from MapBase0< COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH >
static const COLLECTION_KIND   KIND

Member Typedef Documentation

◆  Super

using Super = MapBase0 <COLLECTION, KEYTYPE, VALUETYPE, SUPER, HASH>
private

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

◆  MapBase()

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

成员函数文档编制

◆  ToMap() [1/2]

MapImpl < const COLLECTION & > ToMap

◆  ToMap() [2/2]

MapImpl <const COLLECTION&> ToMap ( ) const

◆  operator MapImpl< COLLECTION & >()

MAXON_ATTRIBUTE_FORCE_INLINE operator MapImpl < COLLECTION & > ( )

◆  operator MapImpl< const COLLECTION & >()

MAXON_ATTRIBUTE_FORCE_INLINE operator MapImpl < const COLLECTION & > ( ) const