28 #ifndef _util_container_avlmap_h 29 #define _util_container_avlmap_h 31 #include <util/container/eavlmmap.h> 35 template <
class K,
class T>
41 AVLMapNode(
const K& k,
const T& d): data(d), node(k) {};
44 template <
class K,
class T>
59 void operator++() { map_->next(node); }
60 void operator++(
int) { operator++(); }
62 {
return map_ == i.map_ && node == i.node; }
64 {
return !operator == (i); }
66 { map_ = i.map_; node = i.node; }
67 const K &key()
const {
return node->node.key; }
68 T &data() {
return node->data; }
72 void clear() { map_.clear(); }
73 void insert(
const K& key,
const T& data);
74 void remove(
const K& key);
75 int contains(
const K& k)
const {
return map_.find(k) != 0; }
77 T &operator[](
const K &k);
79 int height() {
return map_.height(); }
80 void check() { map_.check(); }
82 int length()
const {
return map_.length(); }
87 void print() { map_.print(); }
90 template <
class K,
class T>
95 if (node) node->data = data;
99 template <
class K,
class T>
110 template <
class K,
class T>
114 return iterator(&map_,map_.find(k));
117 template <
class K,
class T>
122 if (node)
return node->data;
Definition: eavlmmap.h:62
Definition: eavlmmap.h:50