#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.