#include <collection.h>
详细描述
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
|
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
|
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
|