CBMC
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, equalT > d_it
 
typedef d_containert< keyT, valueT, equalT > d_ct
 
typedef d_leaft< keyT, valueT, equalT > d_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::innertfind_child (const std::size_t n) const
 
d_it::innertadd_child (const std::size_t n)
 
void remove_child (const std::size_t n)
 
const keyT & get_key () const
 
const valueT & get_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

template<typename keyT , typename valueT , typename equalT >
typedef d_containert< keyT, valueT, equalT > sharing_nodet< keyT, valueT, equalT >::d_ct

Definition at line 116 of file sharing_node.h.

◆ d_it

template<typename keyT , typename valueT , typename equalT >
typedef d_internalt< keyT, valueT, equalT > sharing_nodet< keyT, valueT, equalT >::d_it

Definition at line 115 of file sharing_node.h.

◆ d_lt

template<typename keyT , typename valueT , typename equalT >
typedef d_leaft< keyT, valueT, equalT > sharing_nodet< keyT, valueT, equalT >::d_lt

Definition at line 117 of file sharing_node.h.

◆ datat

template<typename keyT , typename valueT , typename equalT >
typedef small_shared_n_way_ptrt< d_containert< keyT, valueT, equalT >, d_leaft< keyT, valueT, equalT >, d_internalt< keyT, valueT, equalT > > sharing_nodet< keyT, valueT, equalT >::datat

Definition at line 112 of file sharing_node.h.

◆ leaf_listt

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

Definition at line 122 of file sharing_node.h.

◆ leaft

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

Definition at line 121 of file sharing_node.h.

◆ to_mapt

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

Definition at line 119 of file sharing_node.h.

◆ use_countt

template<typename keyT , typename valueT , typename equalT >
typedef datat::use_countt sharing_nodet< keyT, valueT, equalT >::use_countt

Definition at line 113 of file sharing_node.h.

Constructor & Destructor Documentation

◆ sharing_nodet() [1/2]

template<typename keyT , typename valueT , typename equalT >
sharing_nodet< keyT, valueT, equalT >::sharing_nodet ( )
inline

Definition at line 124 of file sharing_node.h.

◆ sharing_nodet() [2/2]

template<typename keyT , typename valueT , typename equalT >
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()

template<typename keyT , typename valueT , typename equalT >
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()

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

Definition at line 147 of file sharing_node.h.

◆ empty()

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

Definition at line 142 of file sharing_node.h.

◆ find_child()

template<typename keyT , typename valueT , typename equalT >
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]

template<typename keyT , typename valueT , typename equalT >
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]

template<typename keyT , typename valueT , typename equalT >
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]

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

Definition at line 243 of file sharing_node.h.

◆ get_container() [2/2]

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

Definition at line 238 of file sharing_node.h.

◆ get_key()

template<typename keyT , typename valueT , typename equalT >
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]

template<typename keyT , typename valueT , typename equalT >
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]

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

Definition at line 228 of file sharing_node.h.

◆ get_value()

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

Definition at line 391 of file sharing_node.h.

◆ is_container()

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

Definition at line 180 of file sharing_node.h.

◆ is_defined_container()

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

Definition at line 195 of file sharing_node.h.

◆ is_defined_internal()

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

Definition at line 190 of file sharing_node.h.

◆ is_defined_leaf()

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

Definition at line 200 of file sharing_node.h.

◆ is_internal()

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

Definition at line 175 of file sharing_node.h.

◆ is_leaf()

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

Definition at line 185 of file sharing_node.h.

◆ make_leaf()

template<typename keyT , typename valueT , typename equalT >
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()

template<typename keyT , typename valueT , typename equalT >
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<typename keyT , typename valueT , typename equalT >
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()

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

Definition at line 212 of file sharing_node.h.

◆ read_internal()

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

Definition at line 205 of file sharing_node.h.

◆ read_leaf()

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

Definition at line 219 of file sharing_node.h.

◆ remove_child()

template<typename keyT , typename valueT , typename equalT >
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()

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

Definition at line 301 of file sharing_node.h.

◆ set_value()

template<typename keyT , typename valueT , typename equalT >
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()

template<typename keyT , typename valueT , typename equalT >
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()

template<typename keyT , typename valueT , typename equalT >
void sharing_nodet< keyT, valueT, equalT >::swap ( sharing_nodet< keyT, valueT, equalT > &  other)
inline

Definition at line 168 of file sharing_node.h.

◆ use_count()

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

Definition at line 163 of file sharing_node.h.

◆ write_container()

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

Definition at line 457 of file sharing_node.h.

◆ write_internal()

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

Definition at line 439 of file sharing_node.h.

Member Data Documentation

◆ data

template<typename keyT , typename valueT , typename equalT >
datat sharing_nodet< keyT, valueT, equalT >::data
protected

Definition at line 475 of file sharing_node.h.


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