|
Rosetta
|
#include <DiscreteIntervalEncodingTree.hh>

Classes | |
| struct | split_tuple |
Public Types | |
| typedef T | Value |
| typedef utility::pointer::shared_ptr< DietNode< Value > > | DietNodeOP |
| typedef std::list< std::pair< Value, Value > > | RangeList |
Public Member Functions | |
| DietNode (Value value) | |
| bool | member (Value val) const |
| Return whether a particular value is contained by any of the ranges in the subtree rooted at this node. More... | |
| split_tuple | split_max (DietNodeOP parent) |
| Return the tuple of the largest value of the left child and the node that is the parent of that largest value. More... | |
| split_tuple | split_min (DietNodeOP parent) |
| Return the tuple of the smallest value of the right child and the node that is the parent of that smallest value. More... | |
| void | join_left (Value new_lower) |
| Used in insert( val ) where val + 1 == lower_; this may reorder nodes in the tree. More... | |
| void | join_right (Value new_upper) |
| void | insert (Value new_val) |
| int | size () const |
| void | inorder_range_list (RangeList &ranges) const |
| bool | correct (RangeList &ranges) const |
Public Member Functions inherited from utility::VirtualBase | |
| VirtualBase ()=default | |
| Default constructor. More... | |
| virtual | ~VirtualBase ()=default |
| The virtual destructor is one of the main reasons for the VirtualBase class. More... | |
| VirtualBase (VirtualBase const &)=default | |
| VirtualBase (VirtualBase &&)=default | |
| VirtualBase & | operator= (VirtualBase const &)=default |
| VirtualBase & | operator= (VirtualBase &&)=default |
Private Attributes | |
| Value | lower_ |
| Value | upper_ |
| DietNodeOP | left_ |
| DietNodeOP | right_ |
| typedef utility::pointer::shared_ptr< DietNode< Value > > numeric::DietNode< T >::DietNodeOP |
| typedef T numeric::DietNode< T >::Value |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Used in insert( val ) where val + 1 == lower_; this may reorder nodes in the tree.
References debug_assert, numeric::DietNode< T >::split_tuple::extrema, numeric::DietNode< T >::left_, numeric::DietNode< T >::lower_, and numeric::DietNode< T >::split_tuple::parent.
Referenced by numeric::DietNode< T >::insert().
|
inline |
|
inline |
Return whether a particular value is contained by any of the ranges in the subtree rooted at this node.
References numeric::DietNode< T >::left_, numeric::DietNode< T >::lower_, numeric::DietNode< T >::right_, and numeric::DietNode< T >::upper_.
|
inline |
References numeric::DietNode< T >::left_, and numeric::DietNode< T >::right_.
|
inline |
Return the tuple of the largest value of the left child and the node that is the parent of that largest value.
References numeric::DietNode< T >::right_, and numeric::DietNode< T >::upper_.
|
inline |
Return the tuple of the smallest value of the right child and the node that is the parent of that smallest value.
References numeric::DietNode< T >::left_, and numeric::DietNode< T >::lower_.
|
private |
|
private |
|
private |
|
private |