CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
sharing_nodet< keyT, valueT, equalT > Class Template Reference

#include <sharing_node.h>

+ Inheritance diagram for sharing_nodet< keyT, valueT, equalT >:
+ Collaboration diagram for sharing_nodet< keyT, valueT, equalT >:

Public Types

typedef small_shared_n_way_ptrt< d_containert< keyT, valueT, equalT >, d_leaft< keyT, valueT, equalT >, d_internalt< keyT, valueT, equalT > > datat
 
typedef datat::use_countt use_countt
 
typedef d_internalt< keyT, valueT, equalTd_it
 
typedef d_containert< keyT, valueT, equalTd_ct
 
typedef d_leaft< keyT, valueT, equalTd_lt
 
typedef d_it::to_mapt to_mapt
 
typedef d_ct::leaft leaft
 
typedef d_ct::leaf_listt leaf_listt
 

Public Member Functions

 sharing_nodet ()
 
template<class valueU >
 sharing_nodet (const keyT &k, valueU &&v)
 
bool empty () const
 
void clear ()
 
bool shares_with (const sharing_nodet &other) const
 
use_countt use_count () const
 
void swap (sharing_nodet &other)
 
bool is_internal () const
 
bool is_container () const
 
bool is_leaf () const
 
bool is_defined_internal () const
 
bool is_defined_container () const
 
bool is_defined_leaf () const
 
const d_itread_internal () const
 
const d_ctread_container () const
 
const d_ltread_leaf () const
 
const to_maptget_to_map () const
 
to_maptget_to_map ()
 
const leaf_listtget_container () const
 
leaf_listtget_container ()
 
const leaftfind_leaf (const keyT &k) const
 
leaftfind_leaf (const keyT &k)
 
template<class valueU >
void place_leaf (const keyT &k, valueU &&v)
 
void remove_leaf (const keyT &k)
 
const d_it::innert * find_child (const std::size_t n) const
 
d_it::innert & add_child (const std::size_t n)
 
void remove_child (const std::size_t n)
 
const keyTget_key () const
 
const valueTget_value () const
 
template<class valueU >
void make_leaf (const keyT &k, valueU &&v)
 
template<class valueU >
void set_value (valueU &&v)
 
void mutate_value (std::function< void(valueT &)> mutator)
 

Protected Member Functions

d_itwrite_internal ()
 
d_ctwrite_container ()
 

Protected Attributes

datat data
 

Detailed Description

template<typename keyT, typename valueT, typename equalT>
class sharing_nodet< keyT, valueT, equalT >

Definition at line 109 of file sharing_node.h.

Member Typedef Documentation

◆ d_ct

◆ d_it

◆ d_lt

◆ datat

◆ leaf_listt

typedef d_ct::leaf_listt sharing_nodet< keyT, valueT, equalT >::leaf_listt

Definition at line 122 of file sharing_node.h.

◆ leaft

typedef d_ct::leaft sharing_nodet< keyT, valueT, equalT >::leaft

Definition at line 121 of file sharing_node.h.

◆ to_mapt

typedef d_it::to_mapt sharing_nodet< keyT, valueT, equalT >::to_mapt

Definition at line 119 of file sharing_node.h.

◆ use_countt

Definition at line 113 of file sharing_node.h.

Constructor & Destructor Documentation

◆ sharing_nodet() [1/2]

Definition at line 124 of file sharing_node.h.

◆ sharing_nodet() [2/2]

template<class valueU >
sharing_nodet< keyT, valueT, equalT >::sharing_nodet ( const keyT k,
valueU &&  v 
)
inline

Definition at line 129 of file sharing_node.h.

Member Function Documentation

◆ add_child()

d_it::innert & sharing_nodet< keyT, valueT, equalT >::add_child ( const std::size_t  n)
inline

Definition at line 360 of file sharing_node.h.

◆ clear()

void sharing_nodet< keyT, valueT, equalT >::clear ( )
inline

Definition at line 147 of file sharing_node.h.

◆ empty()

bool sharing_nodet< keyT, valueT, equalT >::empty ( ) const
inline

Definition at line 142 of file sharing_node.h.

◆ find_child()

const d_it::innert * sharing_nodet< keyT, valueT, equalT >::find_child ( const std::size_t  n) const
inline

Definition at line 342 of file sharing_node.h.

◆ find_leaf() [1/2]

leaft * sharing_nodet< keyT, valueT, equalT >::find_leaf ( const keyT k)
inline

Definition at line 267 of file sharing_node.h.

◆ find_leaf() [2/2]

const leaft * sharing_nodet< keyT, valueT, equalT >::find_leaf ( const keyT k) const
inline

Definition at line 250 of file sharing_node.h.

◆ get_container() [1/2]

leaf_listt & sharing_nodet< keyT, valueT, equalT >::get_container ( )
inline

Definition at line 243 of file sharing_node.h.

◆ get_container() [2/2]

const leaf_listt & sharing_nodet< keyT, valueT, equalT >::get_container ( ) const
inline

Definition at line 238 of file sharing_node.h.

◆ get_key()

const keyT & sharing_nodet< keyT, valueT, equalT >::get_key ( ) const
inline

Definition at line 380 of file sharing_node.h.

◆ get_to_map() [1/2]

to_mapt & sharing_nodet< keyT, valueT, equalT >::get_to_map ( )
inline

Definition at line 233 of file sharing_node.h.

◆ get_to_map() [2/2]

const to_mapt & sharing_nodet< keyT, valueT, equalT >::get_to_map ( ) const
inline

Definition at line 228 of file sharing_node.h.

◆ get_value()

const valueT & sharing_nodet< keyT, valueT, equalT >::get_value ( ) const
inline

Definition at line 391 of file sharing_node.h.

◆ is_container()

bool sharing_nodet< keyT, valueT, equalT >::is_container ( ) const
inline

Definition at line 180 of file sharing_node.h.

◆ is_defined_container()

bool sharing_nodet< keyT, valueT, equalT >::is_defined_container ( ) const
inline

Definition at line 195 of file sharing_node.h.

◆ is_defined_internal()

bool sharing_nodet< keyT, valueT, equalT >::is_defined_internal ( ) const
inline

Definition at line 190 of file sharing_node.h.

◆ is_defined_leaf()

bool sharing_nodet< keyT, valueT, equalT >::is_defined_leaf ( ) const
inline

Definition at line 200 of file sharing_node.h.

◆ is_internal()

bool sharing_nodet< keyT, valueT, equalT >::is_internal ( ) const
inline

Definition at line 175 of file sharing_node.h.

◆ is_leaf()

bool sharing_nodet< keyT, valueT, equalT >::is_leaf ( ) const
inline

Definition at line 185 of file sharing_node.h.

◆ make_leaf()

template<class valueU >
void sharing_nodet< keyT, valueT, equalT >::make_leaf ( const keyT k,
valueU &&  v 
)
inline

Definition at line 399 of file sharing_node.h.

◆ mutate_value()

void sharing_nodet< keyT, valueT, equalT >::mutate_value ( std::function< void(valueT &)>  mutator)
inline

Definition at line 424 of file sharing_node.h.

◆ place_leaf()

template<class valueU >
void sharing_nodet< keyT, valueT, equalT >::place_leaf ( const keyT k,
valueU &&  v 
)
inline

Definition at line 287 of file sharing_node.h.

◆ read_container()

const d_ct & sharing_nodet< keyT, valueT, equalT >::read_container ( ) const
inline

Definition at line 212 of file sharing_node.h.

◆ read_internal()

const d_it & sharing_nodet< keyT, valueT, equalT >::read_internal ( ) const
inline

Definition at line 205 of file sharing_node.h.

◆ read_leaf()

const d_lt & sharing_nodet< keyT, valueT, equalT >::read_leaf ( ) const
inline

Definition at line 219 of file sharing_node.h.

◆ remove_child()

void sharing_nodet< keyT, valueT, equalT >::remove_child ( const std::size_t  n)
inline

Definition at line 368 of file sharing_node.h.

◆ remove_leaf()

void sharing_nodet< keyT, valueT, equalT >::remove_leaf ( const keyT k)
inline

Definition at line 301 of file sharing_node.h.

◆ set_value()

template<class valueU >
void sharing_nodet< keyT, valueT, equalT >::set_value ( valueU &&  v)
inline

Definition at line 407 of file sharing_node.h.

◆ shares_with()

bool sharing_nodet< keyT, valueT, equalT >::shares_with ( const sharing_nodet< keyT, valueT, equalT > &  other) const
inline

Definition at line 155 of file sharing_node.h.

◆ swap()

Definition at line 168 of file sharing_node.h.

◆ use_count()

use_countt sharing_nodet< keyT, valueT, equalT >::use_count ( ) const
inline

Definition at line 163 of file sharing_node.h.

◆ write_container()

d_ct & sharing_nodet< keyT, valueT, equalT >::write_container ( )
inlineprotected

Definition at line 457 of file sharing_node.h.

◆ write_internal()

d_it & sharing_nodet< keyT, valueT, equalT >::write_internal ( )
inlineprotected

Definition at line 439 of file sharing_node.h.

Member Data Documentation

◆ data

Definition at line 475 of file sharing_node.h.


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