IntervalTree< K, V > Class Template Reference

#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
lowest () const
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_

Detailed Description

template<class K, class V>
class IntervalTree< K, V >

Definition at line 40 of file IntervalTree.h.


Member Typedef Documentation

template<class K, class V>
typedef Tree::const_iterator IntervalTree< K, V >::c_iter [private]

Definition at line 42 of file IntervalTree.h.

template<class K, class V>
typedef Tree::const_reverse_iterator IntervalTree< K, V >::c_r_iter [private]

Definition at line 43 of file IntervalTree.h.

template<class K, class V>
typedef Tree::const_iterator IntervalTree< K, V >::const_iterator

Definition at line 50 of file IntervalTree.h.

template<class K, class V>
typedef std::pair<Range, V> IntervalTree< K, V >::Entry

Definition at line 48 of file IntervalTree.h.

template<class K, class V>
typedef Tree::iterator IntervalTree< K, V >::Iter [private]

Definition at line 44 of file IntervalTree.h.

template<class K, class V>
typedef Tree::iterator IntervalTree< K, V >::iterator

Definition at line 49 of file IntervalTree.h.

template<class K, class V>
typedef std::pair<K, K> IntervalTree< K, V >::Range

Definition at line 47 of file IntervalTree.h.

template<class K, class V>
typedef std::map<K, std::pair<K, V> > IntervalTree< K, V >::Tree [private]

Definition at line 41 of file IntervalTree.h.


Constructor & Destructor Documentation

template<class K, class V>
IntervalTree< K, V >::IntervalTree (  )  [inline]

Definition at line 52 of file IntervalTree.h.

template<class K, class V>
IntervalTree< K, V >::~IntervalTree (  )  [inline]

Definition at line 53 of file IntervalTree.h.


Member Function Documentation

template<class K, class V>
const_iterator IntervalTree< K, V >::begin (  )  const [inline]

Definition at line 57 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
iterator IntervalTree< K, V >::begin (  )  [inline]

Definition at line 55 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
void IntervalTree< K, V >::clear (  )  [inline]

Definition at line 149 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
void IntervalTree< K, V >::elements ( std::vector< Entry > &  buffer  )  const [inline]
template<class K, class V>
bool IntervalTree< K, V >::empty (  )  [inline]

Definition at line 151 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
bool IntervalTree< K, V >::empty (  )  const [inline]

Definition at line 61 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
const_iterator IntervalTree< K, V >::end (  )  const [inline]

Definition at line 58 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
iterator IntervalTree< K, V >::end (  )  [inline]

Definition at line 56 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
void IntervalTree< K, V >::erase ( lb  )  [inline]

Definition at line 70 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

Referenced by IntervalTree< K, V >::remove().

template<class K, class V>
bool IntervalTree< K, V >::find ( key,
K &  l,
K &  u,
V &  value 
) const [inline]

Definition at line 86 of file IntervalTree.h.

References IntervalTree< K, V >::precessor().

template<class K, class V>
bool IntervalTree< K, V >::find ( key,
V &  value 
) const [inline]
template<class K, class V>
K IntervalTree< K, V >::highest (  )  const [inline]

Definition at line 143 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
void IntervalTree< K, V >::insert ( lb,
ub,
v 
) [inline]

Definition at line 62 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
static K& IntervalTree< K, V >::lb ( Entry e  )  [inline, static, private]
template<class K, class V>
K IntervalTree< K, V >::lowest (  )  const [inline]

Definition at line 137 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
bool IntervalTree< K, V >::precessor ( key,
Entry e 
) const [inline]
template<class K, class V>
bool IntervalTree< K, V >::precessor ( key,
K &  l,
K &  u,
V &  v 
) const [inline]
template<class K, class V>
void IntervalTree< K, V >::remove ( lb  )  [inline]

Definition at line 66 of file IntervalTree.h.

References IntervalTree< K, V >::erase(), and IntervalTree< K, V >::lb().

template<class K, class V>
int IntervalTree< K, V >::size (  )  const [inline]

Definition at line 60 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
static K& IntervalTree< K, V >::ub ( Entry e  )  [inline, static, private]
template<class K, class V>
bool IntervalTree< K, V >::update ( lb,
newUB 
) [inline]

Definition at line 153 of file IntervalTree.h.

References IntervalTree< K, V >::tree_.

template<class K, class V>
static V& IntervalTree< K, V >::value ( Entry e  )  [inline, static, private]

Field Documentation

template<class K, class V>
Tree IntervalTree< K, V >::tree_ [private]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1