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 ()
 
Nodeincref ()
 
bool isTerminator ()
 
size_t size ()
 
NodepopMin (value_type &valueOut)
 
NodepopMax (value_type &valueOut)
 
Nodeinsert (const value_type &v)
 
Nodereplace (const value_type &v)
 
Noderemove (const key_type &k)
 

Public Attributes

Nodeleft
 
Noderight
 
value_type value
 
unsigned height
 
unsigned references
 

Static Public Attributes

static Node terminator
 

Protected Member Functions

 Node ()
 

Static Protected Member Functions

static Nodebalance (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: