Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Interval_Tree_NodeVtl< Key > Class Template Reference

Interval tree node with virtual destructor. More...

#include <tpl_interval_tree.H>

Inheritance diagram for Aleph::Interval_Tree_NodeVtl< Key >:
[legend]
Collaboration diagram for Aleph::Interval_Tree_NodeVtl< Key >:
[legend]

Public Types

using Endpoint = interval_endpoint_t< Key >
 
using Data = Interval_Tree_Node_Data< Endpoint >
 
using key_type = Key
 
using Key_Type = Key
 

Public Member Functions

Key & get_key () noexcept
 
const Key & get_key () const noexcept
 
Interval_Tree_NodeVtl *& getL () noexcept
 
Interval_Tree_NodeVtl *& getR () noexcept
 
const Interval_Tree_NodeVtlgetL () const noexcept
 
const Interval_Tree_NodeVtlgetR () const noexcept
 
 Interval_Tree_NodeVtl (const Key &k)
 
 Interval_Tree_NodeVtl (Key &&k) noexcept(std::is_nothrow_move_constructible_v< Key >)
 
 Interval_Tree_NodeVtl (const Interval_Tree_NodeVtl &node)
 
 Interval_Tree_NodeVtl (Interval_Tree_NodeVtl &&node) noexcept(std::is_nothrow_move_constructible_v< Key > and std::is_nothrow_move_constructible_v< Data >)
 
 Interval_Tree_NodeVtl ()
 
virtual ~Interval_Tree_NodeVtl ()=default
 Virtual destructor.
 
void reset () noexcept
 
- Public Member Functions inherited from Aleph::Interval_Tree_Node_Data< interval_endpoint_t< Key > >
 Interval_Tree_Node_Data () noexcept(std::is_nothrow_default_constructible_v< interval_endpoint_t< Key > >)
 
 Interval_Tree_Node_Data (SentinelCtor) noexcept(std::is_nothrow_default_constructible_v< interval_endpoint_t< Key > >)
 
unsigned long & getPriority () noexcept
 
interval_endpoint_t< Key > & getMaxEndpoint () noexcept
 
const interval_endpoint_t< Key > & getMaxEndpoint () const noexcept
 

Static Public Attributes

static constexpr size_t MaxHeight = 80
 
static Interval_Tree_NodeVtl *const NullPtr = &Interval_Tree_NodeVtl<Key>::sentinel_node
 

Private Member Functions

 Interval_Tree_NodeVtl (SentinelCtor)
 

Private Attributes

Key key = Key()
 
Interval_Tree_NodeVtllLink
 
Interval_Tree_NodeVtlrLink
 

Static Private Attributes

static Interval_Tree_NodeVtl sentinel_node
 The sentinel node instance (virtual version).
 

Additional Inherited Members

- Static Public Member Functions inherited from Aleph::Interval_Tree_Node_Data< interval_endpoint_t< Key > >
static void reset () noexcept
 

Detailed Description

template<typename Key>
class Aleph::Interval_Tree_NodeVtl< Key >

Interval tree node with virtual destructor.

Template Parameters
Keymust be Interval<T>.

Definition at line 387 of file tpl_interval_tree.H.

Member Typedef Documentation

◆ Data

Definition at line 392 of file tpl_interval_tree.H.

◆ Endpoint

template<typename Key >
using Aleph::Interval_Tree_NodeVtl< Key >::Endpoint = interval_endpoint_t<Key>

Definition at line 391 of file tpl_interval_tree.H.

◆ key_type

template<typename Key >
using Aleph::Interval_Tree_NodeVtl< Key >::key_type = Key

Definition at line 397 of file tpl_interval_tree.H.

◆ Key_Type

template<typename Key >
using Aleph::Interval_Tree_NodeVtl< Key >::Key_Type = Key

Definition at line 398 of file tpl_interval_tree.H.

Constructor & Destructor Documentation

◆ Interval_Tree_NodeVtl() [1/6]

◆ Interval_Tree_NodeVtl() [2/6]

◆ Interval_Tree_NodeVtl() [3/6]

Definition at line 429 of file tpl_interval_tree.H.

◆ Interval_Tree_NodeVtl() [4/6]

template<typename Key >
Aleph::Interval_Tree_NodeVtl< Key >::Interval_Tree_NodeVtl ( Interval_Tree_NodeVtl< Key > &&  node)
inlinenoexcept

Definition at line 436 of file tpl_interval_tree.H.

◆ Interval_Tree_NodeVtl() [5/6]

Definition at line 445 of file tpl_interval_tree.H.

◆ ~Interval_Tree_NodeVtl()

template<typename Key >
virtual Aleph::Interval_Tree_NodeVtl< Key >::~Interval_Tree_NodeVtl ( )
virtualdefault

Virtual destructor.

◆ Interval_Tree_NodeVtl() [6/6]

Definition at line 462 of file tpl_interval_tree.H.

Member Function Documentation

◆ get_key() [1/2]

template<typename Key >
const Key & Aleph::Interval_Tree_NodeVtl< Key >::get_key ( ) const
inlinenoexcept

Definition at line 409 of file tpl_interval_tree.H.

References Aleph::Interval_Tree_NodeVtl< Key >::key.

◆ get_key() [2/2]

template<typename Key >
Key & Aleph::Interval_Tree_NodeVtl< Key >::get_key ( )
inlinenoexcept

Definition at line 408 of file tpl_interval_tree.H.

References Aleph::Interval_Tree_NodeVtl< Key >::key.

◆ getL() [1/2]

template<typename Key >
const Interval_Tree_NodeVtl * Aleph::Interval_Tree_NodeVtl< Key >::getL ( ) const
inlinenoexcept

Definition at line 413 of file tpl_interval_tree.H.

References Aleph::Interval_Tree_NodeVtl< Key >::lLink.

◆ getL() [2/2]

template<typename Key >
Interval_Tree_NodeVtl *& Aleph::Interval_Tree_NodeVtl< Key >::getL ( )
inlinenoexcept

Definition at line 411 of file tpl_interval_tree.H.

References Aleph::Interval_Tree_NodeVtl< Key >::lLink.

◆ getR() [1/2]

template<typename Key >
const Interval_Tree_NodeVtl * Aleph::Interval_Tree_NodeVtl< Key >::getR ( ) const
inlinenoexcept

Definition at line 414 of file tpl_interval_tree.H.

References Aleph::Interval_Tree_NodeVtl< Key >::rLink.

◆ getR() [2/2]

template<typename Key >
Interval_Tree_NodeVtl *& Aleph::Interval_Tree_NodeVtl< Key >::getR ( )
inlinenoexcept

Definition at line 412 of file tpl_interval_tree.H.

References Aleph::Interval_Tree_NodeVtl< Key >::rLink.

◆ reset()

Member Data Documentation

◆ key

◆ lLink

◆ MaxHeight

template<typename Key >
constexpr size_t Aleph::Interval_Tree_NodeVtl< Key >::MaxHeight = 80
staticconstexpr

Definition at line 394 of file tpl_interval_tree.H.

◆ NullPtr

◆ rLink

◆ sentinel_node

template<typename Key >
Interval_Tree_NodeVtl< Key > Aleph::Interval_Tree_NodeVtl< Key >::sentinel_node
staticprivate

The sentinel node instance (virtual version).

Definition at line 405 of file tpl_interval_tree.H.


The documentation for this class was generated from the following file: