Iterator class.
More...
#include <interval_tree.h>
|
| Iterator (const int64_t &index, std::vector< std::pair< T, T > > &els) noexcept |
| Construct a new Iterator object.
|
|
Iterator & | operator= (int64_t index) |
| = operator for Iterator type
|
|
Iterator & | operator++ () |
| operator ++ for type Iterator
|
|
Iterator | operator++ (int) |
| operator ++ for type Iterator
|
|
Iterator & | operator-- () |
| operator – for type Iterator
|
|
Iterator | operator-- (int) |
| operator – for type Iterator
|
|
bool | operator!= (const Iterator &it) |
| operator != for type Iterator
|
|
std::pair< T, T > | operator* () |
| operator * for type Iterator
|
|
| 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 >::Iterator
Iterator class.
◆ Iterator()
template<typename T>
interval_tree< T >::Iterator::Iterator |
( |
const int64_t & | index, |
|
|
std::vector< std::pair< T, T > > & | els ) |
|
inlineexplicitnoexcept |
Construct a new Iterator object.
- Parameters
-
els | vector<pair<T,T>> - the elements in inorder fashion |
◆ 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. |
◆ interval_tree() [1/2]
Copy constructor for interval tree class.
- Parameters
-
i | the tree we want to copy |
◆ interval_tree() [2/2]
Construct a new interval tree object.
- Parameters
-
v | : vector<pair<T,T>> initializer |
◆ level_order()
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 type Iterator
- Parameters
-
- Returns
- true if index == it.index
-
false otherwise
◆ operator*()
operator * for type Iterator
- Returns
- std::pair<T,T> the value of the node
◆ operator++() [1/2]
◆ operator++() [2/2]
◆ operator--() [1/2]
◆ operator--() [2/2]
◆ operator=() [1/2]
operator = for interval tree class
- Parameters
-
i | the tree we want to copy |
- Returns
- interval_tree&
◆ operator=() [2/2]
◆ overlap()
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()
std::vector< std::pair< T, T > > interval_tree< T >::postorder |
( |
| ) |
|
|
inline |
postorder function.
- Returns
- vector<pair<T, T>>, the elements postorder.
◆ preorder()
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: