Nugget
Public Types | Public Member Functions | Protected Attributes | List of all members
eastl::fixed_set< Key, nodeCount, bEnableOverflow, Compare, OverflowAllocator > Class Template Reference

#include <fixed_set.h>

Inheritance diagram for eastl::fixed_set< Key, nodeCount, bEnableOverflow, Compare, OverflowAllocator >:
Inheritance graph
[legend]
Collaboration diagram for eastl::fixed_set< Key, nodeCount, bEnableOverflow, Compare, OverflowAllocator >:
Collaboration graph
[legend]

Public Types

enum  { kMaxSize = nodeCount }
 
typedef fixed_node_allocator< sizeof(typename set< 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 set< Key, Compare, fixed_allocator_typebase_type
 
typedef fixed_set< 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
 
- Public Types inherited from eastl::set< Key, eastl::less< Key >, fixed_node_allocator< sizeof(set< Key >::node_type), nodeCount, EASTL_ALIGN_OF(Key), 0, true, EASTLAllocatorType > >
typedef rbtree< Key, Key, eastl::less< Key >, fixed_node_allocator< sizeof(set< Key >::node_type), nodeCount, EASTL_ALIGN_OF(Key), 0, true, EASTLAllocatorType >, eastl::use_self< Key >, false, true > base_type
 
typedef set< Key, eastl::less< Key >, fixed_node_allocator< sizeof(set< 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
 
- Public Types inherited from eastl::rbtree< Key, Value, Compare, Allocator, ExtractKey, bMutableIterators, bUniqueKeys >
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< iteratorreverse_iterator
 
typedef eastl::reverse_iterator< const_iteratorconst_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_typebase_type
 
typedef integral_constant< bool, bUniqueKeys > has_unique_keys_type
 
typedef base_type::extract_key extract_key
 
- Public Types inherited from eastl::rb_base< Key, Value, Compare, ExtractKey, bUniqueKeys, rbtree< Key, Value, Compare, Allocator, ExtractKey, bMutableIterators, bUniqueKeys > >
typedef ExtractKey extract_key
 

Public Member Functions

 fixed_set (const overflow_allocator_type &overflowAllocator)
 
 fixed_set (const Compare &compare)
 
 fixed_set (const this_type &x)
 
 fixed_set (this_type &&x)
 
 fixed_set (this_type &&x, const overflow_allocator_type &overflowAllocator)
 
 fixed_set (std::initializer_list< value_type > ilist, const overflow_allocator_type &overflowAllocator=EASTL_FIXED_SET_DEFAULT_ALLOCATOR)
 
template<typename InputIterator >
 fixed_set (InputIterator first, InputIterator last)
 
this_typeoperator= (const this_type &x)
 
this_typeoperator= (std::initializer_list< value_type > ilist)
 
this_typeoperator= (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)
 
- Public Member Functions inherited from eastl::set< Key, eastl::less< Key >, fixed_node_allocator< sizeof(set< Key >::node_type), nodeCount, EASTL_ALIGN_OF(Key), 0, true, EASTLAllocatorType > >
 set (const allocator_type &allocator=EASTL_SET_DEFAULT_ALLOCATOR)
 
 set (const eastl::less< Key > &compare, const allocator_type &allocator=EASTL_SET_DEFAULT_ALLOCATOR)
 
 set (const this_type &x)
 
 set (this_type &&x)
 
 set (this_type &&x, const allocator_type &allocator)
 
 set (std::initializer_list< value_type > ilist, const eastl::less< Key > &compare=eastl::less< Key >(), const allocator_type &allocator=EASTL_SET_DEFAULT_ALLOCATOR)
 
 set (Iterator itBegin, Iterator itEnd)
 
this_typeoperator= (const this_type &x)
 
this_typeoperator= (std::initializer_list< value_type > ilist)
 
this_typeoperator= (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, iteratorequal_range (const Key &k)
 
eastl::pair< const_iterator, const_iteratorequal_range (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
 
- Public Member Functions inherited from eastl::rbtree< Key, Value, Compare, Allocator, ExtractKey, bMutableIterators, bUniqueKeys >
 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_typeoperator= (const this_type &x)
 
this_typeoperator= (std::initializer_list< value_type > ilist)
 
this_typeoperator= (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)
 
- Public Member Functions inherited from eastl::rb_base< Key, Value, Compare, ExtractKey, bUniqueKeys, rbtree< Key, Value, Compare, Allocator, ExtractKey, bMutableIterators, bUniqueKeys > >
 rb_base (const Compare &compare)
 

Protected Attributes

char mBuffer [fixed_allocator_type::kBufferSize]
 

Additional Inherited Members

- Public Attributes inherited from eastl::rbtree< Key, Value, Compare, Allocator, ExtractKey, bMutableIterators, bUniqueKeys >
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).
 
- Protected Member Functions inherited from eastl::rbtree< Key, Value, Compare, Allocator, ExtractKey, bMutableIterators, bUniqueKeys >
node_typeDoAllocateNode ()
 
void DoFreeNode (node_type *pNode)
 
node_typeDoCreateNodeFromKey (const key_type &key)
 
template<class... Args>
node_typeDoCreateNode (Args &&... args)
 
node_typeDoCreateNode (const value_type &value)
 
node_typeDoCreateNode (value_type &&value)
 
node_typeDoCreateNode (const node_type *pNodeSource, node_type *pNodeParent)
 
node_typeDoCopySubtree (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_typeDoGetKeyInsertionPositionUniqueKeys (bool &canInsert, const key_type &key)
 
node_typeDoGetKeyInsertionPositionNonuniqueKeys (const key_type &key)
 
node_typeDoGetKeyInsertionPositionUniqueKeysHint (const_iterator position, bool &bForceToLeft, const key_type &key)
 
node_typeDoGetKeyInsertionPositionNonuniqueKeysHint (const_iterator position, bool &bForceToLeft, const key_type &key)
 
- Protected Member Functions inherited from eastl::rb_base_compare_ebo< Compare, bool >
 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
 

Detailed Description

template<typename Key, size_t nodeCount, bool bEnableOverflow = true, typename Compare = eastl::less<Key>, typename OverflowAllocator = EASTLAllocatorType>
class eastl::fixed_set< Key, nodeCount, bEnableOverflow, Compare, OverflowAllocator >

fixed_set

Implements a set with a fixed block of memory identified by the nodeCount template parameter.

Template parameters: 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.


The documentation for this class was generated from the following file: