21 #ifndef ELM_DATA_TREEMAP_H
22 #define ELM_DATA_TREEMAP_H
24 #include <elm/data/TreeBag.h>
25 #include <elm/data/util.h>
30 template <
class K,
class T,
class C = Comparator<K>,
class E = Equiv<T>,
class A = DefaultAlloc >
44 inline bool contains(
const K &k)
const {
return tree.
find(key(k)) !=
nullptr; }
54 inline const T &
item(
void)
const {
return iter.item().snd; }
58 typename tree_t::Iter
iter;
64 inline const T&
get(
const K &key,
const T &
def)
const {
66 return val ? val->
snd :
def;
80 const K &
item(
void)
const {
return iter.item().fst; }
84 typename tree_t::Iter
iter;
98 typename tree_t::Iter
iter;
static Equiv< T > def
Definition: equiv.h:37
T2 snd
Definition: Pair.h:36
const C & comparator() const
Definition: TreeBag.h:54
Iter begin() const
Definition: TreeBag.h:89
A & allocator()
Definition: TreeBag.h:56
int count(void) const
Definition: TreeBag.h:59
void remove(const T &x)
Definition: TreeBag.h:150
bool contains(const T &x) const
Definition: TreeBag.h:60
const T * find(const T &x) const
Definition: TreeBag.h:186
Iter end() const
Definition: TreeBag.h:90
bool isEmpty(void) const
Definition: TreeBag.h:61
void add(const T &x)
Definition: TreeBag.h:121
void next(void)
Definition: TreeMap.h:53
const T & item(void) const
Definition: TreeMap.h:54
bool equals(const Iter &ii) const
Definition: TreeMap.h:55
bool ended(void) const
Definition: TreeMap.h:52
Iter(const TreeMap &map)
Definition: TreeMap.h:51
bool equals(const KeyIter &ii) const
Definition: TreeMap.h:81
KeyIter(const TreeMap &map)
Definition: TreeMap.h:77
void next(void)
Definition: TreeMap.h:79
const K & item(void) const
Definition: TreeMap.h:80
bool ended(void) const
Definition: TreeMap.h:78
PairIter(const TreeMap &map)
Definition: TreeMap.h:91
void next(void)
Definition: TreeMap.h:93
bool equals(const PairIter &ii) const
Definition: TreeMap.h:95
const value_t & item(void) const
Definition: TreeMap.h:94
bool ended(void) const
Definition: TreeMap.h:92
const T & get(const K &key, const T &def) const
Definition: TreeMap.h:64
Comparator< K > & comparator()
Definition: TreeMap.h:38
Iterable< PairIter > pairs() const
Definition: TreeMap.h:100
Iterable< KeyIter > keys() const
Definition: TreeMap.h:86
void remove(const K &key)
Definition: TreeMap.h:105
Option< T > get(const K &key) const
Definition: TreeMap.h:68
bool hasKey(const K &k) const
Definition: TreeMap.h:72
Iter begin() const
Definition: TreeMap.h:60
const Comparator< K > & comparator() const
Definition: TreeMap.h:37
A & allocator()
Definition: TreeMap.h:40
E & equivalence()
Definition: TreeMap.h:39
bool contains(const K &k) const
Definition: TreeMap.h:44
int count(void) const
Definition: TreeMap.h:43
void put(const K &key, const T &value)
Definition: TreeMap.h:103
TreeMap()
Definition: TreeMap.h:35
void remove(const Iter &iter)
Definition: TreeMap.h:107
TreeMap(const TreeMap< K, T, C > &map)
Definition: TreeMap.h:36
Iter end() const
Definition: TreeMap.h:61
bool isEmpty(void) const
Definition: TreeMap.h:45
Definition: util_WAHVector.cpp:157
iter(word_t *current, t::uint32 size)
Definition: util_WAHVector.cpp:159
void next(void)
Definition: util_WAHVector.cpp:162
bool ended(void) const
Definition: util_WAHVector.cpp:161
void map(const C &c, const F &f, D &d)
Definition: util.h:89
void iter(const C &c, const F &f)
Definition: util.h:95
Pair< T1, T2 > pair(const T1 &v1, const T2 &v2)
Definition: Pair.h:63
Iterable< I > subiter(const I &b, const I &e)
Definition: util.h:231
const OptionalNone none
Definition: util_Option.cpp:154