|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Interval tree node with sentinel support. More...
#include <tpl_interval_tree.H>
Public Types | |
| using | Endpoint = interval_endpoint_t< Key > |
| using | Data = Interval_Tree_Node_Data< Endpoint > |
| using | key_type = Key |
| using | Key_Type = Key |
Static Public Attributes | |
| static constexpr size_t | MaxHeight = 80 |
| static Interval_Tree_Node *const | NullPtr = &Interval_Tree_Node<Key>::sentinel_node |
Private Member Functions | |
| Interval_Tree_Node (SentinelCtor) | |
Private Attributes | |
| Key | key = Key() |
| Interval_Tree_Node * | lLink |
| Interval_Tree_Node * | rLink |
Static Private Attributes | |
| static Interval_Tree_Node | sentinel_node |
| The sentinel node instance. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Aleph::Interval_Tree_Node_Data< interval_endpoint_t< Key > > | |
| static void | reset () noexcept |
Interval tree node with sentinel support.
Cannot use DECLARE_BINNODE_SENTINEL because our Control_Data is templated on T (extracted from Key = Interval<T>). We replicate the macro's structure manually.
| Key | must be Interval<T> for some type T. |
Definition at line 293 of file tpl_interval_tree.H.
| using Aleph::Interval_Tree_Node< Key >::Data = Interval_Tree_Node_Data<Endpoint> |
Definition at line 298 of file tpl_interval_tree.H.
| using Aleph::Interval_Tree_Node< Key >::Endpoint = interval_endpoint_t<Key> |
Definition at line 297 of file tpl_interval_tree.H.
| using Aleph::Interval_Tree_Node< Key >::key_type = Key |
Definition at line 303 of file tpl_interval_tree.H.
| using Aleph::Interval_Tree_Node< Key >::Key_Type = Key |
Definition at line 304 of file tpl_interval_tree.H.
|
inline |
Definition at line 323 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node_Data< interval_endpoint_t< Key > >::getMaxEndpoint().
|
inlinenoexcept |
Definition at line 329 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node_Data< interval_endpoint_t< Key > >::getMaxEndpoint().
|
inline |
Definition at line 336 of file tpl_interval_tree.H.
|
inlinenoexcept |
Definition at line 343 of file tpl_interval_tree.H.
|
inline |
Definition at line 352 of file tpl_interval_tree.H.
|
inlineprivate |
Definition at line 367 of file tpl_interval_tree.H.
|
inlinenoexcept |
Definition at line 316 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node< Key >::key.
|
inlinenoexcept |
Definition at line 315 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node< Key >::key.
|
inlinenoexcept |
Definition at line 320 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node< Key >::lLink.
|
inlinenoexcept |
Definition at line 318 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node< Key >::lLink.
|
inlinenoexcept |
Definition at line 321 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node< Key >::rLink.
|
inlinenoexcept |
Definition at line 319 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node< Key >::rLink.
|
inlinenoexcept |
Definition at line 358 of file tpl_interval_tree.H.
References Aleph::Interval_Tree_Node_Data< interval_endpoint_t< Key > >::getMaxEndpoint(), Aleph::Interval_Tree_Node< Key >::key, Aleph::Interval_Tree_Node< Key >::lLink, Aleph::Interval_Tree_Node< Key >::NullPtr, Aleph::Interval_Tree_Node_Data< T >::reset(), and Aleph::Interval_Tree_Node< Key >::rLink.
|
private |
Definition at line 307 of file tpl_interval_tree.H.
Referenced by Aleph::Interval_Tree_Node< Key >::get_key(), Aleph::Interval_Tree_Node< Key >::get_key(), and Aleph::Interval_Tree_Node< Key >::reset().
|
private |
Definition at line 308 of file tpl_interval_tree.H.
Referenced by Aleph::Interval_Tree_Node< Key >::getL(), Aleph::Interval_Tree_Node< Key >::getL(), and Aleph::Interval_Tree_Node< Key >::reset().
|
staticconstexpr |
Definition at line 300 of file tpl_interval_tree.H.
|
static |
Definition at line 301 of file tpl_interval_tree.H.
Referenced by Aleph::Interval_Tree_Node< Key >::reset().
|
private |
Definition at line 309 of file tpl_interval_tree.H.
Referenced by Aleph::Interval_Tree_Node< Key >::getR(), Aleph::Interval_Tree_Node< Key >::getR(), and Aleph::Interval_Tree_Node< Key >::reset().
|
staticprivate |
The sentinel node instance.
Definition at line 312 of file tpl_interval_tree.H.