#include <genesis/utils/containers/interval_tree/fwd.hpp>
Iterate the Intervals stored in an IntervalTree.
The implementation is based on interval-tree, which is published under the CC0-1.0 License (Creative Commons Zero v1.0 Universal); see our Acknowledgements for further details, and see Interval, IntervalTreeNode, and IntervalTree for the other classes based on the original code.
Public Member Functions | |
| IntervalTreeIterator (IntervalTreeIterator &&)=default | |
| IntervalTreeIterator (IntervalTreeIterator const &)=default | |
| ~IntervalTreeIterator ()=default | |
| RedBackColor | color () const |
| Return the color of the node. More... | |
| interval_type const & | interval () const |
| self_type | left () const |
| Continue down the left side of this node. More... | |
| numerical_type | max () const |
| Return the max property of the node. More... | |
| bool | operator!= (IntervalTreeIterator const &other) const |
| interval_type const & | operator* () const |
| self_type & | operator++ () |
| self_type | operator++ (int) |
| value_type const * | operator-> () const |
| IntervalTreeIterator & | operator= (IntervalTreeIterator &&)=default |
| IntervalTreeIterator & | operator= (IntervalTreeIterator const &)=default |
| bool | operator== (IntervalTreeIterator const &other) const |
| self_type | parent () const |
| Return an iterator to the parent of this node. More... | |
| self_type | right () const |
| Continue down the right side of this node. More... | |
Public Types | |
| using | data_type = typename NodeType::data_type |
| using | interval_kind = typename NodeType::interval_kind |
| using | interval_type = typename NodeType::interval_type |
| using | node_ptr_t = typename std::conditional< is_const, node_type const *, node_type * >::type |
| using | node_type = NodeType |
| using | numerical_type = typename NodeType::numerical_type |
| using | owner_type = typename std::conditional< is_const, tree_type const *, tree_type * >::type |
| using | self_type = IntervalTreeIterator< NodeType, is_const > |
| using | tree_type = IntervalTree< data_type, numerical_type, interval_kind > |
| using | value_type = NodeType |
Public Attributes | |
| friend | IntervalTree< data_type, numerical_type, interval_kind > |
|
default |
|
default |
|
default |
|
inline |
Return the color of the node.
Definition at line 237 of file containers/interval_tree/iterator.hpp.
|
inline |
Definition at line 242 of file containers/interval_tree/iterator.hpp.
|
inline |
Continue down the left side of this node.
Will equal std::end(tree) if there is no left node.
Definition at line 205 of file containers/interval_tree/iterator.hpp.
|
inline |
Return the max property of the node.
Definition at line 229 of file containers/interval_tree/iterator.hpp.
|
inline |
Definition at line 123 of file containers/interval_tree/iterator.hpp.
|
inline |
Definition at line 169 of file containers/interval_tree/iterator.hpp.
|
inline |
Definition at line 133 of file containers/interval_tree/iterator.hpp.
|
inline |
Definition at line 162 of file containers/interval_tree/iterator.hpp.
|
inline |
Definition at line 178 of file containers/interval_tree/iterator.hpp.
|
default |
|
default |
|
inline |
Definition at line 128 of file containers/interval_tree/iterator.hpp.
|
inline |
Return an iterator to the parent of this node.
Will equal std::end(tree) if there is no parent node.
Definition at line 192 of file containers/interval_tree/iterator.hpp.
|
inline |
Continue down the right side of this node.
Will equal std::end(tree) if there is no right node.
Definition at line 218 of file containers/interval_tree/iterator.hpp.
| using data_type = typename NodeType::data_type |
Definition at line 80 of file containers/interval_tree/iterator.hpp.
| using interval_kind = typename NodeType::interval_kind |
Definition at line 82 of file containers/interval_tree/iterator.hpp.
| using interval_type = typename NodeType::interval_type |
Definition at line 83 of file containers/interval_tree/iterator.hpp.
| using node_ptr_t = typename std::conditional< is_const, node_type const*, node_type* >::type |
Definition at line 91 of file containers/interval_tree/iterator.hpp.
| using node_type = NodeType |
Definition at line 85 of file containers/interval_tree/iterator.hpp.
| using numerical_type = typename NodeType::numerical_type |
Definition at line 81 of file containers/interval_tree/iterator.hpp.
| using owner_type = typename std::conditional< is_const, tree_type const*, tree_type* >::type |
Definition at line 92 of file containers/interval_tree/iterator.hpp.
| using self_type = IntervalTreeIterator<NodeType, is_const> |
Definition at line 88 of file containers/interval_tree/iterator.hpp.
| using tree_type = IntervalTree<data_type, numerical_type, interval_kind> |
Definition at line 86 of file containers/interval_tree/iterator.hpp.
| using value_type = NodeType |
Definition at line 89 of file containers/interval_tree/iterator.hpp.
| friend IntervalTree< data_type, numerical_type, interval_kind > |
Definition at line 94 of file containers/interval_tree/iterator.hpp.