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: