interval tree class
More...
#include <interval_tree.h>
|
| interval_tree (std::vector< std::pair< T, T > > v={}) |
| Construct a new interval tree object.
|
| interval_tree (const interval_tree &i) |
| Copy constructor for interval tree class.
|
interval_tree & | operator= (const interval_tree &i) |
| operator = for interval tree class
|
void | clear () |
| clear function
|
void | insert (std::pair< T, T > p) |
| insert function.
|
bool | search (std::pair< T, T > p) |
| search function.
|
void | remove (std::pair< T, T > p) |
| remove function.
|
bool | overlap (std::pair< T, T > p1, std::pair< T, T > p2) |
| overlap function.
|
Iterator | begin () |
| pointer that points to begin
|
Iterator | end () |
| pointer that points to end
|
size_t | size () |
| size function
|
std::vector< std::pair< T, T > > | inorder () |
| inorder function.
|
std::vector< std::pair< T, T > > | preorder () |
| preorder function.
|
std::vector< std::pair< T, T > > | postorder () |
| postorder function.
|
std::vector< std::vector< std::pair< T, T > > > | level_order () |
| level order function.
|
|
std::ostream & | operator<< (std::ostream &out, interval_tree< T > &t) |
| operator << for interval tree class
|
template<typename T>
class interval_tree< T >
interval tree class
◆ interval_tree() [1/2]
Construct a new interval tree object.
- Parameters
-
v | : vector<pair<T,T>> initializer |
◆ interval_tree() [2/2]
Copy constructor for interval tree class.
- Parameters
-
i | the tree we want to copy |
◆ begin()
pointer that points to begin
- Returns
- Iterator
◆ end()
pointer that points to end
- Returns
- Iterator
◆ inorder()
inorder function.
- Returns
- vector<pair<T,T>>, the elements inorder.
◆ insert()
insert function.
- Parameters
-
p | interval to be inserted. |
◆ level_order()
template<typename T>
std::vector< std::vector< std::pair< T, T > > > interval_tree< T >::level_order |
( |
| ) |
|
|
inline |
level order function.
- Returns
- vector<pair<T, T>>, the level order traversal of the tree
◆ operator=()
operator = for interval tree class
- Parameters
-
i | the tree we want to copy |
- Returns
- interval_tree&
◆ overlap()
template<typename T>
bool interval_tree< T >::overlap |
( |
std::pair< T, T > | p1, |
|
|
std::pair< T, T > | p2 ) |
|
inline |
overlap function.
- Parameters
-
p1 | first interval. |
p2 | second interval. |
- Returns
- true if p1 overlaps p2.
◆ postorder()
template<typename T>
std::vector< std::pair< T, T > > interval_tree< T >::postorder |
( |
| ) |
|
|
inline |
postorder function.
- Returns
- vector<pair<T, T>>, the elements postorder.
◆ preorder()
template<typename T>
std::vector< std::pair< T, T > > interval_tree< T >::preorder |
( |
| ) |
|
|
inline |
preorder function.
- Returns
- vector<pair<T,T>>, the elements preorder.
◆ remove()
remove function.
- Parameters
-
◆ search()
search function.
- Returns
- true if an interval exist in the tree.
◆ size()
size function
- Returns
- size_t the size of the tree
The documentation for this class was generated from the following file: