GCC Middle and Back End API Reference
rootless_splay_tree< Accessors > Class Template Reference

#include <splay-tree-utils.h>

Inheritance diagram for rootless_splay_tree< Accessors >:
Collaboration diagram for rootless_splay_tree< Accessors >:

Public Types

using rooted = rooted_splay_tree<full_accessors>
 

Static Public Member Functions

static node_type remove_node (node_type node)
 
static void splay (node_type node)
 
static void splay_known_min_node (node_type node)
 
static void splay_known_max_node (node_type node)
 
template<typename DefaultResult , typename Predicate >
static auto splay_and_search (node_type node, DefaultResult default_result, Predicate predicate) -> decltype(predicate(node, 0))
 
static int compare_nodes (node_type node1, node_type node2)
 
static void insert_child (node_type node, unsigned int index, node_type child)
 
static void print (pretty_printer *pp, node_type node, Printer printer)
 

Static Protected Member Functions

static node_type get_parent (node_type)
 
static unsigned int child_index (node_type, node_type)
 
static int compare_nodes_one_way (node_type, node_type)
 
template<unsigned int N>
static void splay_known_limit (node_type)
 
static node_type get_child (node_type, unsigned int)
 
static void set_child (node_type, unsigned int, node_type)
 
static node_type promote_child (node_type, unsigned int)
 
static void promote_child (node_type, unsigned int, node_type)
 
static void print (pretty_printer *pp, node_type node, Printer printer, char, vec< char > &)
 
static node_type splay_limit (node_type)
 
static node_type remove_node_internal (node_type)
 

Private Types

using full_accessors = splay_tree_accessors_with_parent<Accessors>
 
using parent = base_splay_tree<full_accessors>
 

Member Typedef Documentation

◆ full_accessors

template<typename Accessors >
using rootless_splay_tree< Accessors >::full_accessors = splay_tree_accessors_with_parent<Accessors>
private

◆ parent

template<typename Accessors >
using rootless_splay_tree< Accessors >::parent = base_splay_tree<full_accessors>
private

◆ rooted

template<typename Accessors >
using rootless_splay_tree< Accessors >::rooted = rooted_splay_tree<full_accessors>

Member Function Documentation

◆ child_index()

template<typename Accessors >
static unsigned int rootless_splay_tree< Accessors >::child_index ( node_type ,
node_type  )
staticprotected

◆ compare_nodes()

template<typename Accessors >
static int rootless_splay_tree< Accessors >::compare_nodes ( node_type node1,
node_type node2 )
static

◆ compare_nodes_one_way()

template<typename Accessors >
static int rootless_splay_tree< Accessors >::compare_nodes_one_way ( node_type ,
node_type  )
staticprotected

◆ get_child()

template<typename Accessors >
static node_type base_splay_tree< Accessors >::get_child ( node_type ,
unsigned int  )
staticprotected

◆ get_parent()

template<typename Accessors >
static node_type rootless_splay_tree< Accessors >::get_parent ( node_type )
staticprotected

◆ insert_child()

static void base_splay_tree< Accessors >::insert_child ( node_type node,
unsigned int index,
node_type child )
staticinherited

◆ print() [1/2]

static void base_splay_tree< Accessors >::print ( pretty_printer * pp,
node_type node,
Printer printer )
staticinherited

◆ print() [2/2]

static void base_splay_tree< Accessors >::print ( pretty_printer * pp,
node_type node,
Printer printer,
char ,
vec< char > &  )
staticprotectedinherited

◆ promote_child() [1/2]

template<typename Accessors >
static node_type base_splay_tree< Accessors >::promote_child ( node_type ,
unsigned int  )
staticprotected

◆ promote_child() [2/2]

template<typename Accessors >
static void base_splay_tree< Accessors >::promote_child ( node_type ,
unsigned int ,
node_type  )
staticprotected

◆ remove_node()

template<typename Accessors >
static node_type rootless_splay_tree< Accessors >::remove_node ( node_type node)
static

◆ remove_node_internal()

static node_type base_splay_tree< Accessors >::remove_node_internal ( node_type )
staticprotectedinherited

◆ set_child()

template<typename Accessors >
static void base_splay_tree< Accessors >::set_child ( node_type ,
unsigned int ,
node_type  )
staticprotected

◆ splay()

template<typename Accessors >
static void rootless_splay_tree< Accessors >::splay ( node_type node)
static

◆ splay_and_search()

template<typename Accessors >
static auto rootless_splay_tree< Accessors >::splay_and_search ( node_type node,
DefaultResult default_result,
Predicate predicate ) -> decltype(predicate(node, 0))
static

◆ splay_known_limit()

template<typename Accessors >
template<unsigned int N>
static void rootless_splay_tree< Accessors >::splay_known_limit ( node_type )
staticprotected

◆ splay_known_max_node()

template<typename Accessors >
static void rootless_splay_tree< Accessors >::splay_known_max_node ( node_type node)
static

◆ splay_known_min_node()

template<typename Accessors >
static void rootless_splay_tree< Accessors >::splay_known_min_node ( node_type node)
static

◆ splay_limit()

static node_type base_splay_tree< Accessors >::splay_limit ( node_type )
staticprotectedinherited

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