|
enum | { kMaxSize = nodeCount
} |
|
typedef fixed_node_allocator< sizeof(typename multimap< Key, T >::node_type), nodeCount, EASTL_ALIGN_OF(eastl::pair< Key, T >), 0, bEnableOverflow, OverflowAllocator > | fixed_allocator_type |
|
typedef fixed_allocator_type::overflow_allocator_type | overflow_allocator_type |
|
typedef multimap< Key, T, Compare, fixed_allocator_type > | base_type |
|
typedef fixed_multimap< Key, T, 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, eastl::pair< const Key, T >, eastl::less< Key >, fixed_node_allocator< sizeof(multimap< Key, T >::node_type), nodeCount, EASTL_ALIGN_OF(eastl::pair< Key, T >), 0, true, EASTLAllocatorType >, eastl::use_first< eastl::pair< const Key, T > >, true, false > | base_type |
|
typedef multimap< Key, T, eastl::less< Key >, fixed_node_allocator< sizeof(multimap< Key, T >::node_type), nodeCount, EASTL_ALIGN_OF(eastl::pair< Key, T >), 0, true, EASTLAllocatorType > > | this_type |
|
typedef base_type::size_type | size_type |
|
typedef base_type::key_type | key_type |
|
typedef T | mapped_type |
|
typedef base_type::value_type | value_type |
|
typedef base_type::node_type | node_type |
|
typedef base_type::iterator | iterator |
|
typedef base_type::const_iterator | const_iterator |
|
typedef base_type::allocator_type | allocator_type |
|
typedef base_type::insert_return_type | insert_return_type |
|
typedef base_type::extract_key | extract_key |
|
typedef ptrdiff_t | difference_type |
|
typedef eastl_size_t | size_type |
|
typedef Key | key_type |
|
typedef eastl::pair< const Key, T > | 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 fixed_node_allocator< sizeof(multimap< Key, T >::node_type), nodeCount, EASTL_ALIGN_OF(eastl::pair< Key, T >), 0, true, EASTLAllocatorType > | allocator_type |
|
typedef eastl::less< Key > | key_compare |
|
typedef type_select< bUniqueKeys, eastl::pair< iterator, bool >, iterator >::type | insert_return_type |
|
typedef rbtree< Key, eastl::pair< const Key, T >, eastl::less< Key >, fixed_node_allocator< sizeof(multimap< Key, T >::node_type), nodeCount, EASTL_ALIGN_OF(eastl::pair< Key, T >), 0, true, EASTLAllocatorType >, eastl::use_first< eastl::pair< const Key, T > >, bMutableIterators, bUniqueKeys > | this_type |
|
typedef rb_base< Key, eastl::pair< const Key, T >, eastl::less< Key >, eastl::use_first< eastl::pair< const Key, T > >, 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_multimap (const overflow_allocator_type &overflowAllocator) |
|
| fixed_multimap (const Compare &compare) |
|
| fixed_multimap (const this_type &x) |
|
| fixed_multimap (this_type &&x) |
|
| fixed_multimap (this_type &&x, const overflow_allocator_type &overflowAllocator) |
|
| fixed_multimap (std::initializer_list< value_type > ilist, const overflow_allocator_type &overflowAllocator=EASTL_FIXED_MULTIMAP_DEFAULT_ALLOCATOR) |
|
template<typename InputIterator > |
| fixed_multimap (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) |
|
insert_return_type | insert (const Key &key) |
|
| multimap (const allocator_type &allocator=EASTL_MULTIMAP_DEFAULT_ALLOCATOR) |
|
| multimap (const eastl::less< Key > &compare, const allocator_type &allocator=EASTL_MULTIMAP_DEFAULT_ALLOCATOR) |
|
| multimap (const this_type &x) |
|
| multimap (this_type &&x) |
|
| multimap (this_type &&x, const allocator_type &allocator) |
|
| multimap (std::initializer_list< value_type > ilist, const eastl::less< Key > &compare=eastl::less< Key >(), const allocator_type &allocator=EASTL_MULTIMAP_DEFAULT_ALLOCATOR) |
|
| multimap (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) |
|
insert_return_type | insert (const Key &key) |
|
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) |
|
void | insert (InputIterator first, InputIterator last) |
|
value_compare | value_comp () const |
|
size_type | erase (const Key &key) |
|
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) |
|
size_type | count (const Key &key) const |
|
eastl::pair< iterator, iterator > | equal_range (const Key &key) |
|
eastl::pair< const_iterator, const_iterator > | equal_range (const Key &key) const |
|
eastl::pair< iterator, iterator > | equal_range_small (const Key &key) |
|
eastl::pair< const_iterator, const_iterator > | equal_range_small (const Key &key) 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 eastl::less< Key > &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) |
|
| rbtree (InputIterator first, InputIterator last, const eastl::less< Key > &compare, const allocator_type &allocator=EASTL_RBTREE_DEFAULT_ALLOCATOR) |
|
| rbtree (InputIterator first, InputIterator last, const C &compare, const allocator_type &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 |
|
insert_return_type | emplace (Args &&... args) |
|
iterator | emplace_hint (const_iterator position, Args &&... args) |
|
eastl::pair< iterator, bool > | try_emplace (const key_type &k, Args &&... args) |
|
eastl::pair< iterator, bool > | try_emplace (key_type &&k, Args &&... args) |
|
iterator | try_emplace (const_iterator position, const key_type &k, Args &&... args) |
|
iterator | try_emplace (const_iterator position, key_type &&k, Args &&... args) |
|
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | try_emplace (const key_type &key, Args &&... args) |
|
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | try_emplace (key_type &&key, Args &&... args) |
|
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) |
|
void | insert (InputIterator first, InputIterator last) |
|
pair< iterator, bool > | insert_or_assign (const key_type &k, M &&obj) |
|
pair< iterator, bool > | insert_or_assign (key_type &&k, M &&obj) |
|
iterator | insert_or_assign (const_iterator hint, const key_type &k, M &&obj) |
|
iterator | insert_or_assign (const_iterator hint, key_type &&k, M &&obj) |
|
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | insert_or_assign (const key_type &k, M &&obj) |
|
eastl::pair< typename rbtree< K, V, C, A, E, bM, bU >::iterator, bool > | insert_or_assign (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 |
|
iterator | find_as (const U &u, Compare2 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 |
|
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) |
|
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) |
|
eastl::pair< iterator, bool > | DoInsertValue (true_type, Args &&... args) |
|
iterator | DoInsertValue (false_type, Args &&... args) |
|
eastl::pair< iterator, bool > | DoInsertValue (true_type, value_type &&value) |
|
iterator | DoInsertValue (false_type, value_type &&value) |
|
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) |
|
iterator | DoInsertKey (true_type, const_iterator position, const key_type &key) |
|
iterator | DoInsertKey (false_type, const_iterator position, const key_type &key) |
|
iterator | DoInsertValueHint (true_type, const_iterator position, Args &&... 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 | 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, typename T, size_t nodeCount, bool bEnableOverflow = true, typename Compare = eastl::less<Key>, typename OverflowAllocator = EASTLAllocatorType>
class eastl::fixed_multimap< Key, T, nodeCount, bEnableOverflow, Compare, OverflowAllocator >
fixed_multimap
Implements a multimap with a fixed block of memory identified by the nodeCount template parameter.
Key The key object (key in the key/value pair).
T The mapped object (value in the key/value pair).
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.