cprover
Loading...
Searching...
No Matches
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 ( )
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: