|
enum | { kMaxSize = nodeCount
} |
|
typedef fixed_node_allocator< sizeof(typename multiset< Key >::node_type), nodeCount, EASTL_ALIGN_OF(Key), 0, bEnableOverflow, OverflowAllocator > | fixed_allocator_type |
|
typedef fixed_allocator_type::overflow_allocator_type | overflow_allocator_type |
|
typedef multiset< Key, Compare, fixed_allocator_type > | base_type |
|
typedef fixed_multiset< Key, nodeCount, bEnableOverflow, Compare, OverflowAllocator > | this_type |
|
typedef base_type::value_type | value_type |
|
typedef base_type::node_type | node_type |
|
typedef base_type::size_type | size_type |
|
typedef rbtree< Key, Key, eastl::less< Key >, fixed_node_allocator< sizeof(multiset< Key >::node_type), nodeCount, EASTL_ALIGN_OF(Key), 0, true, EASTLAllocatorType >, eastl::use_self< Key >, false, false > | base_type |
|
typedef multiset< Key, eastl::less< Key >, fixed_node_allocator< sizeof(multiset< Key >::node_type), nodeCount, EASTL_ALIGN_OF(Key), 0, true, EASTLAllocatorType > > | this_type |
|
typedef base_type::size_type | size_type |
|
typedef base_type::value_type | value_type |
|
typedef base_type::iterator | iterator |
|
typedef base_type::const_iterator | const_iterator |
|
typedef base_type::reverse_iterator | reverse_iterator |
|
typedef base_type::const_reverse_iterator | const_reverse_iterator |
|
typedef base_type::allocator_type | allocator_type |
|
typedef eastl::less< Key > | value_compare |
|
typedef ptrdiff_t | difference_type |
|
typedef eastl_size_t | size_type |
|
typedef Key | key_type |
|
typedef Value | value_type |
|
typedef rbtree_node< value_type > | node_type |
|
typedef value_type & | reference |
|
typedef const value_type & | const_reference |
|
typedef value_type * | pointer |
|
typedef const value_type * | const_pointer |
|
typedef type_select< bMutableIterators, rbtree_iterator< value_type, value_type *, value_type & >, rbtree_iterator< value_type, const value_type *, const value_type & > >::type | iterator |
|
typedef rbtree_iterator< value_type, const value_type *, const value_type & > | const_iterator |
|
typedef eastl::reverse_iterator< iterator > | reverse_iterator |
|
typedef eastl::reverse_iterator< const_iterator > | const_reverse_iterator |
|
typedef Allocator | allocator_type |
|
typedef Compare | key_compare |
|
typedef type_select< bUniqueKeys, eastl::pair< iterator, bool >, iterator >::type | insert_return_type |
|
typedef rbtree< Key, Value, Compare, Allocator, ExtractKey, bMutableIterators, bUniqueKeys > | this_type |
|
typedef rb_base< Key, Value, Compare, ExtractKey, bUniqueKeys, this_type > | base_type |
|
typedef integral_constant< bool, bUniqueKeys > | has_unique_keys_type |
|
typedef base_type::extract_key | extract_key |
|
typedef ExtractKey | extract_key |
|
|
| fixed_multiset (const overflow_allocator_type &overflowAllocator) |
|
| fixed_multiset (const Compare &compare) |
|
| fixed_multiset (const this_type &x) |
|
| fixed_multiset (this_type &&x) |
|
| fixed_multiset (this_type &&x, const overflow_allocator_type &overflowAllocator) |
|
| fixed_multiset (std::initializer_list< value_type > ilist, const overflow_allocator_type &overflowAllocator=EASTL_FIXED_MULTISET_DEFAULT_ALLOCATOR) |
|
template<typename InputIterator > |
| fixed_multiset (InputIterator first, InputIterator last) |
|
this_type & | operator= (const this_type &x) |
|
this_type & | operator= (std::initializer_list< value_type > ilist) |
|
this_type & | operator= (this_type &&x) |
|
void | swap (this_type &x) |
|
void | reset_lose_memory () |
|
size_type | max_size () const |
|
const overflow_allocator_type & | get_overflow_allocator () const EA_NOEXCEPT |
|
overflow_allocator_type & | get_overflow_allocator () EA_NOEXCEPT |
|
void | set_overflow_allocator (const overflow_allocator_type &allocator) |
|
| multiset (const allocator_type &allocator=EASTL_MULTISET_DEFAULT_ALLOCATOR) |
|
| multiset (const eastl::less< Key > &compare, const allocator_type &allocator=EASTL_MULTISET_DEFAULT_ALLOCATOR) |
|
| multiset (const this_type &x) |
|
| multiset (this_type &&x) |
|
| multiset (this_type &&x, const allocator_type &allocator) |
|
| multiset (std::initializer_list< value_type > ilist, const eastl::less< Key > &compare=eastl::less< Key >(), const allocator_type &allocator=EASTL_MULTISET_DEFAULT_ALLOCATOR) |
|
| multiset (Iterator itBegin, Iterator itEnd) |
|
this_type & | operator= (const this_type &x) |
|
this_type & | operator= (std::initializer_list< value_type > ilist) |
|
this_type & | operator= (this_type &&x) |
|
value_compare | value_comp () const |
|
size_type | erase (const Key &k) |
|
iterator | erase (const_iterator position) |
|
iterator | erase (const_iterator first, const_iterator last) |
|
reverse_iterator | erase (const_reverse_iterator position) |
|
reverse_iterator | erase (const_reverse_iterator first, const_reverse_iterator last) |
|
size_type | count (const Key &k) const |
|
eastl::pair< iterator, iterator > | equal_range (const Key &k) |
|
eastl::pair< const_iterator, const_iterator > | equal_range (const Key &k) const |
|
eastl::pair< iterator, iterator > | equal_range_small (const Key &k) |
|
eastl::pair< const_iterator, const_iterator > | equal_range_small (const Key &k) const |
|
iterator | begin () EA_NOEXCEPT |
|
const_iterator | begin () const EA_NOEXCEPT |
|
iterator | end () EA_NOEXCEPT |
|
const_iterator | end () const EA_NOEXCEPT |
|
iterator | find (const key_type &key) |
|
const_iterator | find (const key_type &key) const |
|
iterator | lower_bound (const key_type &key) |
|
const_iterator | lower_bound (const key_type &key) const |
|
iterator | upper_bound (const key_type &key) |
|
const_iterator | upper_bound (const key_type &key) const |
|
| rbtree (const allocator_type &allocator) |
|
| rbtree (const Compare &compare, const allocator_type &allocator=EASTL_RBTREE_DEFAULT_ALLOCATOR) |
|
| rbtree (const this_type &x) |
|
| rbtree (this_type &&x) |
|
| rbtree (this_type &&x, const allocator_type &allocator) |
|
template<typename InputIterator > |
| rbtree (InputIterator first, InputIterator last, const Compare &compare, const allocator_type &allocator=EASTL_RBTREE_DEFAULT_ALLOCATOR) |
|
const allocator_type & | get_allocator () const EA_NOEXCEPT |
|
allocator_type & | get_allocator () EA_NOEXCEPT |
|
void | set_allocator (const allocator_type &allocator) |
|
const key_compare & | key_comp () const |
|
key_compare & | key_comp () |
|
this_type & | operator= (const this_type &x) |
|
this_type & | operator= (std::initializer_list< value_type > ilist) |
|
this_type & | operator= (this_type &&x) |
|
void | swap (this_type &x) |
|
iterator | begin () EA_NOEXCEPT |
|
const_iterator | begin () const EA_NOEXCEPT |
|
const_iterator | cbegin () const EA_NOEXCEPT |
|
iterator | end () EA_NOEXCEPT |
|
const_iterator | end () const EA_NOEXCEPT |
|
const_iterator | cend () const EA_NOEXCEPT |
|
reverse_iterator | rbegin () EA_NOEXCEPT |
|
const_reverse_iterator | rbegin () const EA_NOEXCEPT |
|
const_reverse_iterator | crbegin () const EA_NOEXCEPT |
|
reverse_iterator | rend () EA_NOEXCEPT |
|
const_reverse_iterator | rend () const EA_NOEXCEPT |
|
const_reverse_iterator | crend () const EA_NOEXCEPT |
|
bool | empty () const EA_NOEXCEPT |
|
size_type | size () const EA_NOEXCEPT |
|
template<class... Args> |
insert_return_type | emplace (Args &&... args) |
|
template<class... Args> |
iterator | emplace_hint (const_iterator position, Args &&... args) |
|
template<class... Args> |
eastl::pair< iterator, bool > | try_emplace (const key_type &k, Args &&... args) |
|
template<class... Args> |
eastl::pair< iterator, bool > | try_emplace (key_type &&k, Args &&... args) |
|
template<class... Args> |
iterator | try_emplace (const_iterator position, const key_type &k, Args &&... args) |
|
template<class... Args> |
iterator | try_emplace (const_iterator position, key_type &&k, Args &&... args) |
|
template<class P , class = typename eastl::enable_if<eastl::is_constructible<value_type, P&&>::value>::type> |
insert_return_type | insert (P &&otherValue) |
|
iterator | insert (const_iterator hint, value_type &&value) |
|
insert_return_type | insert (const value_type &value) |
|
iterator | insert (const_iterator position, const value_type &value) |
|
void | insert (std::initializer_list< value_type > ilist) |
|
template<typename InputIterator > |
void | insert (InputIterator first, InputIterator last) |
|
template<class M > |
pair< iterator, bool > | insert_or_assign (const key_type &k, M &&obj) |
|
template<class M > |
pair< iterator, bool > | insert_or_assign (key_type &&k, M &&obj) |
|
template<class M > |
iterator | insert_or_assign (const_iterator hint, const key_type &k, M &&obj) |
|
template<class M > |
iterator | insert_or_assign (const_iterator hint, key_type &&k, M &&obj) |
|
iterator | erase (const_iterator position) |
|
iterator | erase (const_iterator first, const_iterator last) |
|
reverse_iterator | erase (const_reverse_iterator position) |
|
reverse_iterator | erase (const_reverse_iterator first, const_reverse_iterator last) |
|
void | erase (const key_type *first, const key_type *last) |
|
void | clear () |
|
void | reset_lose_memory () |
|
iterator | find (const key_type &key) |
|
const_iterator | find (const key_type &key) const |
|
template<typename U , typename Compare2 > |
iterator | find_as (const U &u, Compare2 compare2) |
|
template<typename U , typename Compare2 > |
const_iterator | find_as (const U &u, Compare2 compare2) const |
|
iterator | lower_bound (const key_type &key) |
|
const_iterator | lower_bound (const key_type &key) const |
|
iterator | upper_bound (const key_type &key) |
|
const_iterator | upper_bound (const key_type &key) const |
|
bool | validate () const |
|
int | validate_iterator (const_iterator i) const |
|
template<typename InputIterator > |
| rbtree (InputIterator first, InputIterator last, const C &compare, const allocator_type &allocator) |
|
template<class... Args> |
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | try_emplace (const key_type &key, Args &&... args) |
|
template<class... Args> |
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | try_emplace (key_type &&key, Args &&... args) |
|
template<class M > |
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | insert_or_assign (const key_type &k, M &&obj) |
|
template<class M > |
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | insert_or_assign (key_type &&k, M &&obj) |
|
template<class... Args> |
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | DoInsertValue (true_type, Args &&... args) |
|
| rb_base (const Compare &compare) |
|
|
rbtree_node_base | mAnchor |
|
size_type | mnSize |
| This node acts as end() and its mpLeft points to begin(), and mpRight points to rbegin() (the last node on the right).
|
|
allocator_type | mAllocator |
| Stores the count of nodes in the tree (not counting the anchor node).
|
|
node_type * | DoAllocateNode () |
|
void | DoFreeNode (node_type *pNode) |
|
node_type * | DoCreateNodeFromKey (const key_type &key) |
|
template<class... Args> |
node_type * | DoCreateNode (Args &&... args) |
|
node_type * | DoCreateNode (const value_type &value) |
|
node_type * | DoCreateNode (value_type &&value) |
|
node_type * | DoCreateNode (const node_type *pNodeSource, node_type *pNodeParent) |
|
node_type * | DoCopySubtree (const node_type *pNodeSource, node_type *pNodeDest) |
|
void | DoNukeSubtree (node_type *pNode) |
|
template<class... Args> |
eastl::pair< iterator, bool > | DoInsertValue (true_type, Args &&... args) |
|
template<class... Args> |
iterator | DoInsertValue (false_type, Args &&... args) |
|
eastl::pair< iterator, bool > | DoInsertValue (true_type, value_type &&value) |
|
iterator | DoInsertValue (false_type, value_type &&value) |
|
template<class... Args> |
iterator | DoInsertValueImpl (node_type *pNodeParent, bool bForceToLeft, const key_type &key, Args &&... args) |
|
iterator | DoInsertValueImpl (node_type *pNodeParent, bool bForceToLeft, const key_type &key, node_type *pNodeNew) |
|
eastl::pair< iterator, bool > | DoInsertKey (true_type, const key_type &key) |
|
iterator | DoInsertKey (false_type, const key_type &key) |
|
template<class... Args> |
iterator | DoInsertValueHint (true_type, const_iterator position, Args &&... args) |
|
template<class... Args> |
iterator | DoInsertValueHint (false_type, const_iterator position, Args &&... args) |
|
iterator | DoInsertValueHint (true_type, const_iterator position, value_type &&value) |
|
iterator | DoInsertValueHint (false_type, const_iterator position, value_type &&value) |
|
iterator | DoInsertKey (true_type, const_iterator position, const key_type &key) |
|
iterator | DoInsertKey (false_type, const_iterator position, const key_type &key) |
|
iterator | DoInsertKeyImpl (node_type *pNodeParent, bool bForceToLeft, const key_type &key) |
|
node_type * | DoGetKeyInsertionPositionUniqueKeys (bool &canInsert, const key_type &key) |
|
node_type * | DoGetKeyInsertionPositionNonuniqueKeys (const key_type &key) |
|
node_type * | DoGetKeyInsertionPositionUniqueKeysHint (const_iterator position, bool &bForceToLeft, const key_type &key) |
|
node_type * | DoGetKeyInsertionPositionNonuniqueKeysHint (const_iterator position, bool &bForceToLeft, const key_type &key) |
|
| rb_base_compare_ebo (const Compare &compare) |
|
Compare & | get_compare () |
|
const Compare & | get_compare () const |
|
template<typename T > |
bool | compare (const T &lhs, const T &rhs) |
|
template<typename T > |
bool | compare (const T &lhs, const T &rhs) const |
|
template<typename Key, size_t nodeCount, bool bEnableOverflow = true, typename Compare = eastl::less<Key>, typename OverflowAllocator = EASTLAllocatorType>
class eastl::fixed_multiset< Key, nodeCount, bEnableOverflow, Compare, OverflowAllocator >
fixed_multiset
Implements a multiset with a fixed block of memory identified by the nodeCount template parameter.
Key The type of object the set holds (a.k.a. value).
nodeCount The max number of objects to contain.
bEnableOverflow Whether or not we should use the global heap if our object pool is exhausted.
Compare Compare function/object for set ordering.
OverflowAllocator Overflow allocator, which is only used if bEnableOverflow == true. Defaults to the global heap.