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 |
![]() | |
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 |