#include <IntervalTree.h>
Public Types | |
| typedef std::pair< K, K > | Range |
| typedef std::pair< Range, V > | Entry |
| typedef Tree::iterator | iterator |
| typedef Tree::const_iterator | const_iterator |
Public Member Functions | |
| IntervalTree () | |
| ~IntervalTree () | |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| int | size () const |
| bool | empty () const |
| void | insert (K lb, K ub, V v) |
| void | remove (K lb) |
| void | erase (K lb) |
| bool | find (K key, V &value) const |
| bool | find (K key, K &l, K &u, V &value) const |
| bool | precessor (K key, K &l, K &u, V &v) const |
| bool | precessor (K key, Entry &e) const |
| void | elements (std::vector< Entry > &buffer) const |
| K | lowest () const |
| K | highest () const |
| void | clear () |
| bool | empty () |
| bool | update (K lb, K newUB) |
Private Types | |
| typedef std::map< K, std::pair < K, V > > | Tree |
| typedef Tree::const_iterator | c_iter |
| typedef Tree::const_reverse_iterator | c_r_iter |
| typedef Tree::iterator | Iter |
Static Private Member Functions | |
| static V & | value (Entry &e) |
| static K & | lb (Entry &e) |
| static K & | ub (Entry &e) |
Private Attributes | |
| Tree | tree_ |
Definition at line 40 of file IntervalTree.h.
typedef Tree::const_iterator IntervalTree< K, V >::c_iter [private] |
Definition at line 42 of file IntervalTree.h.
typedef Tree::const_reverse_iterator IntervalTree< K, V >::c_r_iter [private] |
Definition at line 43 of file IntervalTree.h.
| typedef Tree::const_iterator IntervalTree< K, V >::const_iterator |
Definition at line 50 of file IntervalTree.h.
| typedef std::pair<Range, V> IntervalTree< K, V >::Entry |
Definition at line 48 of file IntervalTree.h.
typedef Tree::iterator IntervalTree< K, V >::Iter [private] |
Definition at line 44 of file IntervalTree.h.
| typedef Tree::iterator IntervalTree< K, V >::iterator |
Definition at line 49 of file IntervalTree.h.
| typedef std::pair<K, K> IntervalTree< K, V >::Range |
Definition at line 47 of file IntervalTree.h.
typedef std::map<K, std::pair<K, V> > IntervalTree< K, V >::Tree [private] |
Definition at line 41 of file IntervalTree.h.
| IntervalTree< K, V >::IntervalTree | ( | ) | [inline] |
Definition at line 52 of file IntervalTree.h.
| IntervalTree< K, V >::~IntervalTree | ( | ) | [inline] |
Definition at line 53 of file IntervalTree.h.
| const_iterator IntervalTree< K, V >::begin | ( | ) | const [inline] |
Definition at line 57 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| iterator IntervalTree< K, V >::begin | ( | ) | [inline] |
Definition at line 55 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| void IntervalTree< K, V >::clear | ( | ) | [inline] |
Definition at line 149 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| void IntervalTree< K, V >::elements | ( | std::vector< Entry > & | buffer | ) | const [inline] |
Definition at line 125 of file IntervalTree.h.
References IntervalTree< K, V >::lb(), IntervalTree< K, V >::tree_, IntervalTree< K, V >::ub(), and IntervalTree< K, V >::value().
| bool IntervalTree< K, V >::empty | ( | ) | [inline] |
Definition at line 151 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| bool IntervalTree< K, V >::empty | ( | ) | const [inline] |
Definition at line 61 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| const_iterator IntervalTree< K, V >::end | ( | ) | const [inline] |
Definition at line 58 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| iterator IntervalTree< K, V >::end | ( | ) | [inline] |
Definition at line 56 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| void IntervalTree< K, V >::erase | ( | K | lb | ) | [inline] |
Definition at line 70 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
Referenced by IntervalTree< K, V >::remove().
| bool IntervalTree< K, V >::find | ( | K | key, | |
| K & | l, | |||
| K & | u, | |||
| V & | value | |||
| ) | const [inline] |
Definition at line 86 of file IntervalTree.h.
References IntervalTree< K, V >::precessor().
| bool IntervalTree< K, V >::find | ( | K | key, | |
| V & | value | |||
| ) | const [inline] |
Definition at line 74 of file IntervalTree.h.
References IntervalTree< K, V >::lb(), IntervalTree< K, V >::precessor(), and IntervalTree< K, V >::ub().
| K IntervalTree< K, V >::highest | ( | ) | const [inline] |
Definition at line 143 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| void IntervalTree< K, V >::insert | ( | K | lb, | |
| K | ub, | |||
| V | v | |||
| ) | [inline] |
Definition at line 62 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| static K& IntervalTree< K, V >::lb | ( | Entry & | e | ) | [inline, static, private] |
Definition at line 162 of file IntervalTree.h.
Referenced by IntervalTree< K, V >::elements(), IntervalTree< K, V >::find(), IntervalTree< K, V >::precessor(), and IntervalTree< K, V >::remove().
| K IntervalTree< K, V >::lowest | ( | ) | const [inline] |
Definition at line 137 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| bool IntervalTree< K, V >::precessor | ( | K | key, | |
| Entry & | e | |||
| ) | const [inline] |
Definition at line 105 of file IntervalTree.h.
References IntervalTree< K, V >::lb(), IntervalTree< K, V >::tree_, IntervalTree< K, V >::ub(), and IntervalTree< K, V >::value().
| bool IntervalTree< K, V >::precessor | ( | K | key, | |
| K & | l, | |||
| K & | u, | |||
| V & | v | |||
| ) | const [inline] |
Definition at line 94 of file IntervalTree.h.
References IntervalTree< K, V >::lb(), IntervalTree< K, V >::ub(), and IntervalTree< K, V >::value().
Referenced by IntervalTree< K, V >::find().
| void IntervalTree< K, V >::remove | ( | K | lb | ) | [inline] |
Definition at line 66 of file IntervalTree.h.
References IntervalTree< K, V >::erase(), and IntervalTree< K, V >::lb().
| int IntervalTree< K, V >::size | ( | ) | const [inline] |
Definition at line 60 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| static K& IntervalTree< K, V >::ub | ( | Entry & | e | ) | [inline, static, private] |
Definition at line 163 of file IntervalTree.h.
Referenced by IntervalTree< K, V >::elements(), IntervalTree< K, V >::find(), and IntervalTree< K, V >::precessor().
| bool IntervalTree< K, V >::update | ( | K | lb, | |
| K | newUB | |||
| ) | [inline] |
Definition at line 153 of file IntervalTree.h.
References IntervalTree< K, V >::tree_.
| static V& IntervalTree< K, V >::value | ( | Entry & | e | ) | [inline, static, private] |
Definition at line 161 of file IntervalTree.h.
Referenced by IntervalTree< K, V >::elements(), and IntervalTree< K, V >::precessor().
Tree IntervalTree< K, V >::tree_ [private] |
Definition at line 165 of file IntervalTree.h.
Referenced by IntervalTree< K, V >::begin(), IntervalTree< K, V >::clear(), IntervalTree< K, V >::elements(), IntervalTree< K, V >::empty(), IntervalTree< K, V >::end(), IntervalTree< K, V >::erase(), IntervalTree< K, V >::highest(), IntervalTree< K, V >::insert(), IntervalTree< K, V >::lowest(), IntervalTree< K, V >::precessor(), IntervalTree< K, V >::size(), and IntervalTree< K, V >::update().
1.6.1