CBMC
small_shared_n_way_pointee_baset< N, Num > Class Template Reference

#include <small_shared_n_way_ptr.h>

+ Inheritance diagram for small_shared_n_way_pointee_baset< N, Num >:

Public Member Functions

 small_shared_n_way_pointee_baset ()=default
 
 small_shared_n_way_pointee_baset (const small_shared_n_way_pointee_baset &)
 
small_shared_n_way_pointee_basetoperator= (const small_shared_n_way_pointee_baset &)
 
Num get_use_count () const
 
void increment_use_count ()
 
void decrement_use_count ()
 
template<std::size_t I>
void set_derived ()
 
template<std::size_t I>
bool is_derived () const
 
bool is_same_type (const small_shared_n_way_pointee_baset &other) const
 

Static Private Member Functions

static constexpr std::size_t num_bits (const std::size_t n)
 

Private Attributes

Num use_count = 0
 

Static Private Attributes

static const int bit_width = std::numeric_limits<Num>::digits
 
static const std::size_t type_bit_width = num_bits(N)
 
static const std::size_t use_count_bit_width
 
static const Num use_count_mask = ((Num)1 << use_count_bit_width) - 1
 

Detailed Description

template<std::size_t N, typename Num>
class small_shared_n_way_pointee_baset< N, Num >

Definition at line 315 of file small_shared_n_way_ptr.h.

Constructor & Destructor Documentation

◆ small_shared_n_way_pointee_baset() [1/2]

template<std::size_t N, typename Num >
small_shared_n_way_pointee_baset< N, Num >::small_shared_n_way_pointee_baset ( )
default

◆ small_shared_n_way_pointee_baset() [2/2]

template<std::size_t N, typename Num >
small_shared_n_way_pointee_baset< N, Num >::small_shared_n_way_pointee_baset ( const small_shared_n_way_pointee_baset< N, Num > &  )
inline

Definition at line 323 of file small_shared_n_way_ptr.h.

Member Function Documentation

◆ decrement_use_count()

template<std::size_t N, typename Num >
void small_shared_n_way_pointee_baset< N, Num >::decrement_use_count ( )
inline

Definition at line 346 of file small_shared_n_way_ptr.h.

◆ get_use_count()

template<std::size_t N, typename Num >
Num small_shared_n_way_pointee_baset< N, Num >::get_use_count ( ) const
inline

Definition at line 334 of file small_shared_n_way_ptr.h.

◆ increment_use_count()

template<std::size_t N, typename Num >
void small_shared_n_way_pointee_baset< N, Num >::increment_use_count ( )
inline

Definition at line 339 of file small_shared_n_way_ptr.h.

◆ is_derived()

template<std::size_t N, typename Num >
template<std::size_t I>
bool small_shared_n_way_pointee_baset< N, Num >::is_derived ( ) const
inline

Definition at line 363 of file small_shared_n_way_ptr.h.

◆ is_same_type()

template<std::size_t N, typename Num >
bool small_shared_n_way_pointee_baset< N, Num >::is_same_type ( const small_shared_n_way_pointee_baset< N, Num > &  other) const
inline

Definition at line 370 of file small_shared_n_way_ptr.h.

◆ num_bits()

template<std::size_t N, typename Num >
static constexpr std::size_t small_shared_n_way_pointee_baset< N, Num >::num_bits ( const std::size_t  n)
inlinestaticconstexprprivate

Definition at line 380 of file small_shared_n_way_ptr.h.

◆ operator=()

template<std::size_t N, typename Num >
small_shared_n_way_pointee_baset& small_shared_n_way_pointee_baset< N, Num >::operator= ( const small_shared_n_way_pointee_baset< N, Num > &  )
inline

Definition at line 329 of file small_shared_n_way_ptr.h.

◆ set_derived()

template<std::size_t N, typename Num >
template<std::size_t I>
void small_shared_n_way_pointee_baset< N, Num >::set_derived ( )
inline

Definition at line 354 of file small_shared_n_way_ptr.h.

Member Data Documentation

◆ bit_width

template<std::size_t N, typename Num >
const int small_shared_n_way_pointee_baset< N, Num >::bit_width = std::numeric_limits<Num>::digits
staticprivate

Definition at line 378 of file small_shared_n_way_ptr.h.

◆ type_bit_width

template<std::size_t N, typename Num >
const std::size_t small_shared_n_way_pointee_baset< N, Num >::type_bit_width = num_bits(N)
staticprivate

Definition at line 385 of file small_shared_n_way_ptr.h.

◆ use_count

template<std::size_t N, typename Num >
Num small_shared_n_way_pointee_baset< N, Num >::use_count = 0
private

Definition at line 376 of file small_shared_n_way_ptr.h.

◆ use_count_bit_width

template<std::size_t N, typename Num >
const std::size_t small_shared_n_way_pointee_baset< N, Num >::use_count_bit_width
staticprivate
Initial value:

Definition at line 387 of file small_shared_n_way_ptr.h.

◆ use_count_mask

template<std::size_t N, typename Num >
const Num small_shared_n_way_pointee_baset< N, Num >::use_count_mask = ((Num)1 << use_count_bit_width) - 1
staticprivate

Definition at line 390 of file small_shared_n_way_ptr.h.


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