CBMC
reference_counting< T, empty > Class Template Reference

#include <reference_counting.h>

+ Inheritance diagram for reference_counting< T, empty >:
+ Collaboration diagram for reference_counting< T, empty >:

Classes

class  dt
 

Public Member Functions

 reference_counting ()
 
 reference_counting (const T &other)
 
 reference_counting (const reference_counting &other)
 
reference_countingoperator= (const reference_counting &other)
 
 ~reference_counting ()
 
void swap (reference_counting &other)
 
void clear ()
 
const T & read () const
 
T & write ()
 
dtget_d () const
 

Protected Member Functions

void remove_ref (dt *old_d)
 
void detach ()
 
void copy_from (const reference_counting &other)
 

Protected Attributes

dtd
 

Detailed Description

template<typename T, const T & empty = T::blank>
class reference_counting< T, empty >

Template Parameters
emptypointer to empty data, if unspecified use a reference to T::blank

Definition at line 21 of file reference_counting.h.

Constructor & Destructor Documentation

◆ reference_counting() [1/3]

template<typename T , const T & empty = T::blank>
reference_counting< T, empty >::reference_counting ( )
inline

Definition at line 24 of file reference_counting.h.

◆ reference_counting() [2/3]

template<typename T , const T & empty = T::blank>
reference_counting< T, empty >::reference_counting ( const T &  other)
inlineexplicit

Definition at line 28 of file reference_counting.h.

◆ reference_counting() [3/3]

template<typename T , const T & empty = T::blank>
reference_counting< T, empty >::reference_counting ( const reference_counting< T, empty > &  other)
inline

Definition at line 34 of file reference_counting.h.

◆ ~reference_counting()

template<typename T , const T & empty = T::blank>
reference_counting< T, empty >::~reference_counting ( )
inline

Definition at line 52 of file reference_counting.h.

Member Function Documentation

◆ clear()

template<typename T , const T & empty = T::blank>
void reference_counting< T, empty >::clear ( void  )
inline

Definition at line 63 of file reference_counting.h.

◆ copy_from()

template<typename T , const T & empty = T::blank>
void reference_counting< T, empty >::copy_from ( const reference_counting< T, empty > &  other)
inlineprotected

Definition at line 99 of file reference_counting.h.

◆ detach()

template<class T , const T & empty>
void reference_counting< T, empty >::detach
protected

Definition at line 150 of file reference_counting.h.

◆ get_d()

template<typename T , const T & empty = T::blank>
dt* reference_counting< T, empty >::get_d ( ) const
inline

Definition at line 114 of file reference_counting.h.

◆ operator=()

template<typename T , const T & empty = T::blank>
reference_counting& reference_counting< T, empty >::operator= ( const reference_counting< T, empty > &  other)
inline

Definition at line 46 of file reference_counting.h.

◆ read()

template<typename T , const T & empty = T::blank>
const T& reference_counting< T, empty >::read ( ) const
inline

Definition at line 69 of file reference_counting.h.

◆ remove_ref()

template<class T , const T & empty>
void reference_counting< T, empty >::remove_ref ( dt old_d)
protected

Definition at line 121 of file reference_counting.h.

◆ swap()

template<typename T , const T & empty = T::blank>
void reference_counting< T, empty >::swap ( reference_counting< T, empty > &  other)
inline

Definition at line 58 of file reference_counting.h.

◆ write()

template<typename T , const T & empty = T::blank>
T& reference_counting< T, empty >::write ( )
inline

Definition at line 76 of file reference_counting.h.

Member Data Documentation

◆ d

template<typename T , const T & empty = T::blank>
dt* reference_counting< T, empty >::d
protected

Definition at line 93 of file reference_counting.h.


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