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