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

#include <collection.h>

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

详细描述

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

SetBase is a helper template to be used as base class set-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 sets

公共成员函数

template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE   SetBase (ARGS &&... args)
SetImpl < COLLECTION & >  ToSet ()
SetImpl < const COLLECTION & >  ToSet () const
MAXON_ATTRIBUTE_FORCE_INLINE   operator SetImpl< COLLECTION & > ()
MAXON_ATTRIBUTE_FORCE_INLINE   operator SetImpl< const COLLECTION & > () const
-  Public Member Functions inherited from SetBase0< COLLECTION, VALUETYPE, SUPER, HASH >
template<typename... ARGS>
MAXON_ATTRIBUTE_FORCE_INLINE   SetBase0 (ARGS &&... args)
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef < const VALUETYPE Append (typename ByValueParam < VALUETYPE >:: type v)
template<typename COLLECTION2 >
Bool   ContainsAllImpl (COLLECTION2 &&other, OverloadRank0 ) const
template<typename COLLECTION2 >
MAXON_ATTRIBUTE_FORCE_INLINE Result < void >  添加 (COLLECTION2 &&other, COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::ON_GROW_RESERVE_CAPACITY )
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 >
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 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 = SetBase0 < COLLECTION, VALUETYPE , SUPER, HASH >

Additional Inherited Members

-  Public Types inherited from SetBase0< COLLECTION, VALUETYPE, SUPER, HASH >
using  SetType = COLLECTION
-  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 SetBase0< COLLECTION, VALUETYPE, SUPER, HASH >
static const COLLECTION_KIND   KIND

Member Typedef Documentation

◆  Super

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

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

◆  SetBase()

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

成员函数文档编制

◆  ToSet() [1/2]

SetImpl < const COLLECTION & > ToSet

◆  ToSet() [2/2]

SetImpl <const COLLECTION&> ToSet ( ) const

◆  operator SetImpl< COLLECTION & >()

MAXON_ATTRIBUTE_FORCE_INLINE operator SetImpl < COLLECTION & > ( )

◆  operator SetImpl< const COLLECTION & >()

MAXON_ATTRIBUTE_FORCE_INLINE operator SetImpl < const COLLECTION & > ( ) const