klee
klee::ImmutableTree< K, V, KOV, CMP >::Node Class Reference

#include <ImmutableTree.h>

Collaboration diagram for klee::ImmutableTree< K, V, KOV, CMP >::Node:

Public Member Functions

 Node (Node *_left, Node *_right, const value_type &_value)
 
 ~Node ()
 
void decref ()
 
Node * incref ()
 
bool isTerminator ()
 
size_t size ()
 
Node * popMin (value_type &valueOut)
 
Node * popMax (value_type &valueOut)
 
Node * insert (const value_type &v)
 
Node * replace (const value_type &v)
 
Node * remove (const key_type &k)
 

Public Attributes

Node * left
 
Node * right
 
value_type value
 
unsigned height
 
unsigned references
 

Static Public Attributes

static Node terminator
 

Protected Member Functions

 Node ()
 

Static Protected Member Functions

static Node * balance (Node *left, const value_type &value, Node *right)
 

Detailed Description

template<class K, class V, class KOV, class CMP>
class klee::ImmutableTree< K, V, KOV, CMP >::Node

Definition at line 72 of file ImmutableTree.h.

Constructor & Destructor Documentation

◆ Node() [1/2]

template<class K , class V , class KOV , class CMP >
klee::ImmutableTree< K, V, KOV, CMP >::Node::Node
protected

◆ Node() [2/2]

template<class K , class V , class KOV , class CMP >
klee::ImmutableTree< K, V, KOV, CMP >::Node::Node ( Node *  _left,
Node *  _right,
const value_type &  _value 
)

Definition at line 256 of file ImmutableTree.h.

References klee::ImmutableTree< K, V, KOV, CMP >::allocated.

◆ ~Node()

template<class K , class V , class KOV , class CMP >
klee::ImmutableTree< K, V, KOV, CMP >::Node::~Node

Definition at line 267 of file ImmutableTree.h.

References klee::ImmutableTree< K, V, KOV, CMP >::allocated.

Member Function Documentation

◆ balance()

template<class K , class V , class KOV , class CMP >
ImmutableTree< K, V, KOV, CMP >::Node * klee::ImmutableTree< K, V, KOV, CMP >::Node::balance ( Node *  left,
const value_type &  value,
Node *  right 
)
staticprotected

◆ decref()

template<class K , class V , class KOV , class CMP >
void klee::ImmutableTree< K, V, KOV, CMP >::Node::decref
inline

◆ incref()

◆ insert()

template<class K , class V , class KOV , class CMP >
ImmutableTree< K, V, KOV, CMP >::Node * klee::ImmutableTree< K, V, KOV, CMP >::Node::insert ( const value_type &  v)

Definition at line 367 of file ImmutableTree.h.

◆ isTerminator()

◆ popMax()

template<class K , class V , class KOV , class CMP >
ImmutableTree< K, V, KOV, CMP >::Node * klee::ImmutableTree< K, V, KOV, CMP >::Node::popMax ( value_type &  valueOut)

Definition at line 356 of file ImmutableTree.h.

References klee::ImmutableTree< K, V, KOV, CMP >::Node::incref().

Here is the call graph for this function:

◆ popMin()

template<class K , class V , class KOV , class CMP >
ImmutableTree< K, V, KOV, CMP >::Node * klee::ImmutableTree< K, V, KOV, CMP >::Node::popMin ( value_type &  valueOut)

Definition at line 345 of file ImmutableTree.h.

References klee::ImmutableTree< K, V, KOV, CMP >::Node::incref().

Referenced by klee::ImmutableTree< K, V, KOV, CMP >::Node::remove().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove()

template<class K , class V , class KOV , class CMP >
ImmutableTree< K, V, KOV, CMP >::Node * klee::ImmutableTree< K, V, KOV, CMP >::Node::remove ( const key_type &  k)

Definition at line 399 of file ImmutableTree.h.

References klee::ImmutableTree< K, V, KOV, CMP >::min(), and klee::ImmutableTree< K, V, KOV, CMP >::Node::popMin().

Here is the call graph for this function:

◆ replace()

template<class K , class V , class KOV , class CMP >
ImmutableTree< K, V, KOV, CMP >::Node * klee::ImmutableTree< K, V, KOV, CMP >::Node::replace ( const value_type &  v)

Definition at line 383 of file ImmutableTree.h.

◆ size()

template<class K , class V , class KOV , class CMP >
size_t klee::ImmutableTree< K, V, KOV, CMP >::Node::size

Definition at line 335 of file ImmutableTree.h.

Member Data Documentation

◆ height

template<class K , class V , class KOV , class CMP >
unsigned klee::ImmutableTree< K, V, KOV, CMP >::Node::height

◆ left

◆ references

template<class K , class V , class KOV , class CMP >
unsigned klee::ImmutableTree< K, V, KOV, CMP >::Node::references

Definition at line 77 of file ImmutableTree.h.

◆ right

◆ terminator

template<class K , class V , class KOV , class CMP >
ImmutableTree< K, V, KOV, CMP >::Node klee::ImmutableTree< K, V, KOV, CMP >::Node::terminator
static

Definition at line 74 of file ImmutableTree.h.

Referenced by klee::ImmutableTree< K, V, KOV, CMP >::Node::Node().

◆ value


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