cprover
sharing_node_innert< keyT, valueT, equalT > Class Template Reference

#include <sharing_node.h>

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

Public Types

typedef d_internalt< keyT, valueT, equalT > d_it
 
typedef d_containert< keyT, valueT, equalT > d_ct
 
typedef d_it::to_mapt to_mapt
 
typedef d_ct::leaft leaft
 
typedef d_ct::leaf_listt leaf_listt
 

Public Member Functions

 sharing_node_innert ()
 
bool empty () const
 
void clear ()
 
bool shares_with (const sharing_node_innert &other) const
 
void swap (sharing_node_innert &other)
 
bool is_internal () const
 
bool is_container () const
 
d_itwrite_internal ()
 
const d_itread_internal () const
 
d_ctwrite_container ()
 
const d_ctread_container () 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)
 
leaftplace_leaf (const keyT &k, const valueT &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)
 

Public Attributes

small_shared_two_way_ptrt< d_internalt< keyT, valueT, equalT >, d_containert< keyT, valueT, equalT > > data
 

Static Public Attributes

static small_shared_two_way_ptrt< d_internalt< keyT, valueT, equalT >, d_containert< keyT, valueT, equalT > > empty_data
 

Detailed Description

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

Definition at line 75 of file sharing_node.h.

Member Typedef Documentation

◆ d_ct

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

Definition at line 109 of file sharing_node.h.

◆ d_it

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

Definition at line 108 of file sharing_node.h.

◆ leaf_listt

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

Definition at line 114 of file sharing_node.h.

◆ leaft

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

Definition at line 113 of file sharing_node.h.

◆ to_mapt

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

Definition at line 111 of file sharing_node.h.

Constructor & Destructor Documentation

◆ sharing_node_innert()

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

Definition at line 116 of file sharing_node.h.

Member Function Documentation

◆ add_child()

template<typename keyT, typename valueT, typename equalT>
d_it::innert* sharing_node_innert< keyT, valueT, equalT >::add_child ( const std::size_t  n)
inline

Definition at line 323 of file sharing_node.h.

◆ clear()

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

Definition at line 125 of file sharing_node.h.

◆ empty()

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

Definition at line 120 of file sharing_node.h.

◆ find_child()

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

Definition at line 310 of file sharing_node.h.

◆ find_leaf() [1/2]

template<typename keyT, typename valueT, typename equalT>
leaft* sharing_node_innert< keyT, valueT, equalT >::find_leaf ( const keyT &  k)
inline

Definition at line 239 of file sharing_node.h.

◆ find_leaf() [2/2]

template<typename keyT, typename valueT, typename equalT>
const leaft* sharing_node_innert< keyT, valueT, equalT >::find_leaf ( const keyT &  k) const
inline

Definition at line 224 of file sharing_node.h.

◆ get_container() [1/2]

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

Definition at line 217 of file sharing_node.h.

◆ get_container() [2/2]

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

Definition at line 212 of file sharing_node.h.

◆ get_to_map() [1/2]

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

Definition at line 207 of file sharing_node.h.

◆ get_to_map() [2/2]

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

Definition at line 202 of file sharing_node.h.

◆ is_container()

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

Definition at line 149 of file sharing_node.h.

◆ is_internal()

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

Definition at line 144 of file sharing_node.h.

◆ place_leaf()

template<typename keyT, typename valueT, typename equalT>
leaft* sharing_node_innert< keyT, valueT, equalT >::place_leaf ( const keyT &  k,
const valueT &  v 
)
inline

Definition at line 257 of file sharing_node.h.

◆ read_container()

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

Definition at line 193 of file sharing_node.h.

◆ read_internal()

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

Definition at line 170 of file sharing_node.h.

◆ remove_child()

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

Definition at line 331 of file sharing_node.h.

◆ remove_leaf()

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

Definition at line 271 of file sharing_node.h.

◆ shares_with()

template<typename keyT, typename valueT, typename equalT>
bool sharing_node_innert< keyT, valueT, equalT >::shares_with ( const sharing_node_innert< keyT, valueT, equalT > &  other) const
inline

Definition at line 130 of file sharing_node.h.

◆ swap()

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

Definition at line 137 of file sharing_node.h.

◆ write_container()

template<typename keyT, typename valueT, typename equalT>
d_ct& sharing_node_innert< keyT, valueT, equalT >::write_container ( )
inline

Definition at line 177 of file sharing_node.h.

◆ write_internal()

template<typename keyT, typename valueT, typename equalT>
d_it& sharing_node_innert< keyT, valueT, equalT >::write_internal ( )
inline

Definition at line 154 of file sharing_node.h.

Member Data Documentation

◆ data

template<typename keyT, typename valueT, typename equalT>
small_shared_two_way_ptrt< d_internalt< keyT, valueT, equalT >, d_containert< keyT, valueT, equalT > > sharing_node_innert< keyT, valueT, equalT >::data

Definition at line 341 of file sharing_node.h.

◆ empty_data

template<typename keyT, typename valueT, typename equalT>
small_shared_two_way_ptrt< d_internalt< keyT, valueT, equalT >, d_containert< keyT, valueT, equalT > > sharing_node_innert< keyT, valueT, equalT >::empty_data
static

The documentation for this class was generated from the following file:
small_shared_two_way_ptrt
This class is similar to small_shared_ptrt and boost's intrusive_ptr.
Definition: small_shared_two_way_ptr.h:34
d_containert
Definition: sharing_node.h:92