Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::detail::PersistentTreapNodeOps< Node, Key, Compare > Struct Template Reference

#include <tpl_persistent_treap.H>

Public Types

using NodePtr = std::shared_ptr< const Node >
 

Static Public Member Functions

static size_t node_size (const NodePtr &p) noexcept
 
static const Key * min_key (const NodePtr &node) noexcept
 
static const Key * max_key (const NodePtr &node) noexcept
 
static bool can_join (const NodePtr &left, const NodePtr &right, const Compare &cmp)
 
template<class Rebuild >
static NodePtr rotate_right (const NodePtr &node, const Rebuild &rebuild)
 
template<class Rebuild >
static NodePtr rotate_left (const NodePtr &node, const Rebuild &rebuild)
 
template<class Rebuild >
static NodePtr join_nodes (const NodePtr &left, const NodePtr &right, const Rebuild &rebuild)
 
template<class Rebuild >
static NodePtr erase_rec (const NodePtr &node, const Key &key, const Compare &cmp, bool &erased, const Rebuild &rebuild)
 
template<class Rebuild >
static std::pair< NodePtr, NodePtr > split_rec (const NodePtr &node, const Key &pivot, const Compare &cmp, const Rebuild &rebuild)
 
static void collect_keys (const NodePtr &node, Array< Key > &out)
 
static bool verify_rec (const NodePtr &node, const Key *lo, const Key *hi, const Compare &cmp, size_t &count)
 
static bool is_valid_under (const NodePtr &node, const Compare &cmp)
 

Detailed Description

template<typename Node, typename Key, class Compare>
struct Aleph::detail::PersistentTreapNodeOps< Node, Key, Compare >

Definition at line 101 of file tpl_persistent_treap.H.

Member Typedef Documentation

◆ NodePtr

template<typename Node , typename Key , class Compare >
using Aleph::detail::PersistentTreapNodeOps< Node, Key, Compare >::NodePtr = std::shared_ptr<const Node>

Definition at line 103 of file tpl_persistent_treap.H.

Member Function Documentation

◆ can_join()

◆ collect_keys()

◆ erase_rec()

◆ is_valid_under()

◆ join_nodes()

◆ max_key()

template<typename Node , typename Key , class Compare >
static const Key * Aleph::detail::PersistentTreapNodeOps< Node, Key, Compare >::max_key ( const NodePtr &  node)
inlinestaticnoexcept

◆ min_key()

template<typename Node , typename Key , class Compare >
static const Key * Aleph::detail::PersistentTreapNodeOps< Node, Key, Compare >::min_key ( const NodePtr &  node)
inlinestaticnoexcept

◆ node_size()

◆ rotate_left()

◆ rotate_right()

◆ split_rec()

◆ verify_rec()


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