template class axl::sl::RbTree
#include <axl_sl_RbTree.h> template < typename Key, typename Value, typename Cmp = Cmp<Key>, typename KeyArg = typename ArgType<Key>::Type, typename ValueArg = typename ArgType<Value>::Type > class RbTree: public axl::sl::BinTreeBase { public: // typedefs typedef BinTreeBase<RbTree<Key, Value, Cmp, KeyArg, ValueArg>, RbTreeNode<Key, Value>, Key, Value, Cmp, KeyArg, ValueArg> BaseType; typedef RbTreeNode<Key, Value> Node; // construction RbTree(const Cmp& cmp = Cmp()); };
Inherited Members
public: // typedefs typedef sl::Iterator<Node> Iterator; typedef sl::ConstIterator<Node> ConstIterator; // methods Value& operator[](KeyArg key); const Value& operator[](KeyArg key) const; bool isEmpty() const; size_t getCount() const; Iterator getHead(); ConstIterator getHead() const; Iterator getTail(); ConstIterator getTail() const; Iterator find(KeyArg key); ConstIterator find(KeyArg key) const; Iterator find( KeyArg key, BinTreeFindRelOp relOp ); ConstIterator find( KeyArg key, BinTreeFindRelOp relOp ) const; Value findValue( KeyArg key, ValueArg undefinedValue ) const; Value findValue( KeyArg key, BinTreeFindRelOp relOp, ValueArg undefinedValue ) const; Iterator visit(KeyArg key); Iterator add( KeyArg key, ValueArg value, bool* isNew = NULL ); Iterator addIfNotExists( KeyArg key, ValueArg value ); void erase(Iterator it); bool eraseKey(KeyArg key); void clear();