|
const T & | head () const |
|
T | get () |
|
void | put (const T &x) |
|
void | reset () |
|
| GenTree (void) |
|
| GenTree (const GenTree< T > &tree) |
|
| ~GenTree (void) |
|
const elm::Comparator< T > & | comparator () const |
|
elm::Comparator< T > & | comparator () |
|
const DefaultAlloc & | allocator () const |
|
DefaultAlloc & | allocator () |
|
T * | get (const typename IdAdapter< T > ::key_t &key) |
|
const T * | get (const typename IdAdapter< T > ::key_t &key) const |
|
void | set (const T &item) |
|
void | removeByKey (const typename IdAdapter< T > ::key_t &item) |
|
int | count (void) const |
|
bool | contains (const typename IdAdapter< T > ::key_t &item) const |
|
bool | containsAll (const CC &c) const |
|
bool | isEmpty (void) const |
|
| operator bool (void) const |
|
Iter | begin (void) const |
|
Iter | end (void) const |
|
bool | equals (const GenTree< T, IdAdapter< T >, elm::Comparator< T > > &tree) const |
|
bool | operator== (const GenTree< T, IdAdapter< T >, elm::Comparator< T > > &tree) const |
|
bool | operator!= (const GenTree< T, IdAdapter< T >, elm::Comparator< T > > &tree) const |
|
void | clear (void) |
|
void | add (const T &item) |
|
void | addAll (const CC &c) |
|
void | remove (const T &x) |
|
void | remove (const Iter &iter) |
|
void | removeAll (const CC &c) |
|
self_t & | operator+= (const T &x) |
|
self_t & | operator-= (const T &x) |
|
void | copy (const GenTree< T, IdAdapter< T >, elm::Comparator< T > > &tree) |
|
GenTree< T, IdAdapter< T >, elm::Comparator< T > > & | operator= (const GenTree< T, IdAdapter< T >, elm::Comparator< T > > &tree) |
|
int | count (void) const |
|
int | doCompare (const T &v1, const T &v2) const |
|
t::ptr | allocate (t::size size) const |
|
void | free (t::ptr p) const |
|
template<class T > |
T * | alloc () const |
|
|
static int | compare (const T &v1, const T &v2) |
|
enum | dir_t { LEFT = -1,
NONE = 0,
RIGHT = +1
} |
|
typedef signed char | balance_t |
|
Node * | root (void) const |
|
void | remove (Stack &s, Node *n) |
|
int | compare (const typename IdAdapter< T > ::key_t &k1, const typename IdAdapter< T > ::key_t &k2) const |
|
Node * | lookup (Stack &s, const typename IdAdapter< T > ::key_t &key) const |
|
Node * | find (const typename IdAdapter< T > ::key_t &key) const |
|
void | exchange (Node *n, Node *p) |
|
| AbstractTree (void) |
|
Node ** | link (const Stack &s) |
|
void | exchange (Node *n, Node *m) |
|
void | insert (Stack &stack, Node *node) |
|
void | rotateRight (Stack &s) |
|
void | rotateLeft (Stack &s) |
|
void | remove (Stack &stack, Node *n) |
|
Node * | leftMost (Stack &s, Node *n) |
|
Node * | _root |
|
int | _cnt |
|
static const int | MAX_HEIGHT = 32 |
|
template<class T, class C = elm::Comparator<T>, class A = DefaultAlloc>
class elm::avl::Queue< T, C, A >
Implements a sorted queue based on AVL trees: putting or getting the head element is obtained in O(log n) complexity.
- Implemented concepts
- elm::concept::Collection<T>
- elm::concept::Queue<T>
- Parameters
-
- See also
- elm::avl::GenTree