cprover
|
#include <sharing_node.h>
Classes | |
class | dt |
Public Types | |
typedef keyT | key_type |
typedef valueT | mapped_type |
typedef predT | key_equal |
typedef sharing_nodet< key_type, mapped_type, key_equal > | self_type |
typedef std::map< unsigned, self_type > | subt |
typedef std::list< self_type > | containert |
typedef const std::pair< const self_type &, const bool > | const_find_type |
typedef const std::pair< self_type &, const bool > | find_type |
Public Member Functions | |
sharing_nodet () | |
sharing_nodet (const key_type &k, const mapped_type &m) | |
sharing_nodet (const self_type &other) | |
bool | is_empty () const |
bool | is_internal () const |
bool | is_container () const |
bool | is_leaf () const |
const key_type & | get_key () const |
const mapped_type & | get_value () const |
mapped_type & | get_value () |
subt & | get_sub () |
const subt & | get_sub () const |
containert & | get_container () |
const containert & | get_container () const |
const self_type * | find_child (const unsigned n) const |
self_type * | add_child (const unsigned n) |
void | remove_child (const unsigned n) |
const self_type * | find_leaf (const key_type &k) const |
self_type * | find_leaf (const key_type &k) |
self_type * | place_leaf (const key_type &k, const mapped_type &m) |
void | remove_leaf (const key_type &k) |
void | clear () |
bool | shares_with (const self_type &other) const |
void | swap (self_type &other) |
Protected Member Functions | |
const dt & | read () const |
dt & | write () |
void | detach () |
bool | is_well_formed () const |
Protected Attributes | |
std::shared_ptr< dt > | data |
Static Protected Attributes | |
static std::shared_ptr< dt > | empty_data |
static sharing_nodet | dummy |
Friends | |
void | sharing_node_test () |
Definition at line 34 of file sharing_node.h.
typedef const std::pair<const self_type &, const bool> sharing_nodet< keyT, valueT, predT, no_sharing >::const_find_type |
Definition at line 49 of file sharing_node.h.
typedef std::list<self_type> sharing_nodet< keyT, valueT, predT, no_sharing >::containert |
Definition at line 47 of file sharing_node.h.
typedef const std::pair<self_type &, const bool> sharing_nodet< keyT, valueT, predT, no_sharing >::find_type |
Definition at line 50 of file sharing_node.h.
typedef predT sharing_nodet< keyT, valueT, predT, no_sharing >::key_equal |
Definition at line 42 of file sharing_node.h.
typedef keyT sharing_nodet< keyT, valueT, predT, no_sharing >::key_type |
Definition at line 39 of file sharing_node.h.
typedef valueT sharing_nodet< keyT, valueT, predT, no_sharing >::mapped_type |
Definition at line 40 of file sharing_node.h.
typedef sharing_nodet<key_type, mapped_type, key_equal> sharing_nodet< keyT, valueT, predT, no_sharing >::self_type |
Definition at line 44 of file sharing_node.h.
typedef std::map<unsigned, self_type> sharing_nodet< keyT, valueT, predT, no_sharing >::subt |
Definition at line 46 of file sharing_node.h.
|
inline |
Definition at line 52 of file sharing_node.h.
|
inline |
Definition at line 57 of file sharing_node.h.
|
inline |
Definition at line 70 of file sharing_node.h.
|
inline |
Definition at line 168 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::erase(), and sharing_mapt< keyT, valueT, hashT, predT >::get_container_node().
|
inline |
Definition at line 243 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::clear().
|
inlineprotected |
Definition at line 297 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::write().
|
inline |
Definition at line 157 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::get_container_node(), and sharing_mapt< keyT, valueT, hashT, predT >::get_delta_view().
|
inline |
|
inline |
Definition at line 197 of file sharing_node.h.
|
inline |
Definition at line 145 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::erase(), sharing_nodet< key_type, mapped_type, key_equal >::find_leaf(), sharing_mapt< keyT, valueT, hashT, predT >::gather_all(), sharing_mapt< keyT, valueT, hashT, predT >::get_delta_view(), sharing_mapt< keyT, valueT, hashT, predT >::get_view(), sharing_nodet< key_type, mapped_type, key_equal >::is_container(), sharing_nodet< key_type, mapped_type, key_equal >::is_well_formed(), sharing_nodet< key_type, mapped_type, key_equal >::place_leaf(), and sharing_nodet< key_type, mapped_type, key_equal >::remove_leaf().
|
inline |
Definition at line 150 of file sharing_node.h.
|
inline |
Definition at line 117 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::remove_leaf().
|
inline |
Definition at line 135 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::add_child(), sharing_nodet< key_type, mapped_type, key_equal >::find_child(), sharing_mapt< keyT, valueT, hashT, predT >::gather_all(), sharing_mapt< keyT, valueT, hashT, predT >::get_delta_view(), sharing_mapt< keyT, valueT, hashT, predT >::get_view(), sharing_nodet< key_type, mapped_type, key_equal >::is_internal(), sharing_nodet< key_type, mapped_type, key_equal >::is_well_formed(), and sharing_nodet< key_type, mapped_type, key_equal >::remove_child().
|
inline |
Definition at line 140 of file sharing_node.h.
|
inline |
Definition at line 123 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::find(), sharing_mapt< keyT, valueT, hashT, predT >::insert(), and sharing_mapt< keyT, valueT, hashT, predT >::place().
|
inline |
Definition at line 129 of file sharing_node.h.
|
inline |
Definition at line 101 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::erase(), sharing_mapt< keyT, valueT, hashT, predT >::gather_all(), sharing_mapt< keyT, valueT, hashT, predT >::get_container_node(), sharing_mapt< keyT, valueT, hashT, predT >::get_delta_view(), and sharing_mapt< keyT, valueT, hashT, predT >::get_view().
|
inline |
Definition at line 88 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::is_container(), sharing_nodet< key_type, mapped_type, key_equal >::is_internal(), and sharing_nodet< key_type, mapped_type, key_equal >::is_leaf().
|
inline |
Definition at line 94 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::gather_all(), sharing_mapt< keyT, valueT, hashT, predT >::get_delta_view(), and sharing_mapt< keyT, valueT, hashT, predT >::get_view().
|
inline |
Definition at line 108 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::get_key(), and sharing_nodet< key_type, mapped_type, key_equal >::get_value().
|
inlineprotected |
Definition at line 309 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::is_container(), sharing_nodet< key_type, mapped_type, key_equal >::is_empty(), sharing_nodet< key_type, mapped_type, key_equal >::is_internal(), and sharing_nodet< key_type, mapped_type, key_equal >::is_leaf().
|
inline |
Definition at line 211 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::place().
|
inlineprotected |
Definition at line 286 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::get_container(), sharing_nodet< key_type, mapped_type, key_equal >::get_key(), sharing_nodet< key_type, mapped_type, key_equal >::get_sub(), sharing_nodet< key_type, mapped_type, key_equal >::get_value(), and sharing_nodet< key_type, mapped_type, key_equal >::is_leaf().
|
inline |
Definition at line 174 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::erase().
|
inline |
Definition at line 222 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::erase().
|
inline |
Definition at line 248 of file sharing_node.h.
|
inline |
Definition at line 253 of file sharing_node.h.
Referenced by sharing_mapt< keyT, valueT, hashT, predT >::swap().
|
inlineprotected |
Definition at line 291 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::get_container(), sharing_nodet< key_type, mapped_type, key_equal >::get_sub(), sharing_nodet< key_type, mapped_type, key_equal >::get_value(), and sharing_nodet< key_type, mapped_type, key_equal >::sharing_nodet().
|
friend |
|
protected |
Definition at line 333 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::is_well_formed(), sharing_nodet< key_type, mapped_type, key_equal >::read(), sharing_nodet< key_type, mapped_type, key_equal >::shares_with(), sharing_nodet< key_type, mapped_type, key_equal >::sharing_nodet(), sharing_nodet< key_type, mapped_type, key_equal >::swap(), and sharing_nodet< key_type, mapped_type, key_equal >::write().
|
staticprotected |
Definition at line 337 of file sharing_node.h.
|
staticprotected |
Definition at line 334 of file sharing_node.h.
Referenced by sharing_nodet< key_type, mapped_type, key_equal >::detach(), sharing_nodet< key_type, mapped_type, key_equal >::is_empty(), and sharing_nodet< key_type, mapped_type, key_equal >::is_well_formed().