#include <collection.h>
详细描述
template<typename COLLECTION, typename VALUETYPE, typename SUPER>
class maxon::Collection< COLLECTION, VALUETYPE, SUPER >
Collection
is a helper template to be used as base class for set-, array- or list-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
.
|
-
另请参阅
-
$ref collections
公共成员函数
|
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
|
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
|