Namespaces | |
maxon | |
Enumerations | |
enum class | COLLECTION_RESIZE_FLAGS { NONE , ON_SHRINK_KEEP_CAPACITY , ON_SHRINK_FIT_TO_SIZE , ON_GROW_RESERVE_CAPACITY , ON_GROW_FIT_TO_SIZE , ON_GROW_UNINITIALIZED , ON_GROW_UNSPECIFIED , ON_RESIZE_UNSPECIFIED , FIT_TO_SIZE , DEFAULT , POD_UNINITIALIZED } |
Functions | |
template<typename C > | |
Int | PrivateGetCount (const C &collection, OverloadRank0) |
template<typename T , Int N> | |
Int | PrivateGetCount (T(&array)[N], OverloadRank1) |
template<typename C > | |
SFINAEHelper< Int, typename C::IsCollection >::type | PrivateGetCount (const C &collection, OverloadRank2) |
template<typename ITERABLE > | |
Int | GetCount (const ITERABLE &iterable) |
template<typename SET , typename KEY > | |
MAXON_ATTRIBUTE_FORCE_INLINE Bool | PrivateContains (const SET &set, const KEY &key, OverloadRank0) |
template<typename T , Int N, typename KEY > | |
Bool | PrivateContains (T(&array)[N], const KEY &key, OverloadRank1) |
template<typename SET , typename KEY > | |
MAXON_ATTRIBUTE_FORCE_INLINE auto | PrivateContains (const SET &set, const KEY &key, OverloadRank1) -> decltype(set.Contains(key)) |
template<typename SET , typename KEY > | |
MAXON_ATTRIBUTE_FORCE_INLINE SFINAEHelper< Bool, typename SET::IsCollection >::type | PrivateContains (const SET &set, const KEY &key, OverloadRank2) |
template<typename PREDICATE , typename KEY > | |
MAXON_ATTRIBUTE_FORCE_INLINE Bool | Contains (const PREDICATE &predicate, const KEY &key) |
template<typename COMPARE , typename T1 , typename T2 > | |
MAXON_ATTRIBUTE_FORCE_INLINE Bool | PrivateIsEqual (COMPARE &&cmp, const T1 &a, const T2 &b, OverloadRank0) |
template<typename COMPARE , typename T1 , typename T2 > | |
MAXON_ATTRIBUTE_FORCE_INLINE auto | PrivateIsEqual (COMPARE &&cmp, const T1 &a, const T2 &b, OverloadRank1) -> decltype(cmp.IsEqual(a, b)) |
template<typename PREDICATE , typename T1 , typename T2 > | |
MAXON_ATTRIBUTE_FORCE_INLINE Bool | IsEqual (PREDICATE &&predicate, const T1 &a, const T2 &b) |
MAXON_MEMBERTYPE_DETECTOR (IsCollection, IsCollection, std::false_type) | |
enum maxon::COLLECTION_RESIZE_FLAGS | MAXON_ENUM_FLAGS (COLLECTION_RESIZE_FLAGS, "net.maxon.datatype.enum.collection_resize_flags", EARLY) |
template<typename COLLECTION , typename T > | |
std::conditional<!STD_IS_REPLACEMENT(reference, COLLECTION) &&(GetCollectionKind< COLLECTION >::value !=COLLECTION_KIND::NONE), T &&, T & >::type | ValueForward (T &x) |
template<typename COLLECTION , typename T , Bool STRIDED> | |
const Block< T, STRIDED, !STD_IS_REPLACEMENT(reference, COLLECTION) &&(GetCollectionKind< COLLECTION >::value !=COLLECTION_KIND::NONE)> & | BlockForward (const Block< T, STRIDED > &block) |
template<typename COLLECTION > | |
COLLECTION && | PrivateGetMap (COLLECTION &&c, OverloadRank0) |
template<typename COLLECTION > | |
Substitute< COLLECTION &&, typename std::remove_reference< COLLECTION >::type::MapType >::type | PrivateGetMap (COLLECTION &&c, OverloadRank1) |
NONE |
ON_SHRINK_KEEP_CAPACITY |
Don't change capacity.
ON_SHRINK_FIT_TO_SIZE |
Copy the array to a new memory block that is as small as possible to hold the data.
ON_GROW_RESERVE_CAPACITY |
Allocate some extra capacity (based on ComputeArraySize()).
ON_GROW_FIT_TO_SIZE |
Grow the array exactly to the requested size.
ON_GROW_UNINITIALIZED |
Do not initialize added elements (usually PODs) when resizing the array (is supported by all collections).
ON_GROW_UNSPECIFIED |
Initialize added elements with unspecified (but legal) values. For example PODs can be left uninitialized, strong references can be zero-initialized for best performance.
ON_RESIZE_UNSPECIFIED |
The resize operation may use unspecified (but legal) values for existing elements as well as for added elements. After resize all elements may contain unspecified values.
FIT_TO_SIZE |
Fits the array to the requested size for growing and shrinking.
DEFAULT |
The default is to keep capacity on shrink and fit to size when growing the array.
POD_UNINITIALIZED |