Lagrange
control_block< T, D > Class Template Reference

NOT implemented: custom allocator support. More...

#include <lagrange/internal/smart_ptr/control_block.h>

Inherits control_block_base.

Public Types

using element_type = T
 
using deleter_type = D
 

Public Member Functions

 control_block (T *p)
 
 control_block (T *p, D d)
 
void inc_ref () noexcept override
 
void inc_wref () noexcept override
 
void dec_ref () noexcept override
 
void dec_wref () noexcept override
 
long use_count () const noexcept override
 
bool unique () const noexcept override
 
long weak_use_count () const noexcept override
 
bool expired () const noexcept override
 
void * get_deleter () noexcept override
 
virtual void inc_ref () noexcept=0
 
virtual void inc_wref () noexcept=0
 
virtual void dec_ref () noexcept=0
 
virtual void dec_wref () noexcept=0
 
virtual long use_count () const noexcept=0
 
virtual bool unique () const noexcept=0
 
virtual long weak_use_count () const noexcept=0
 
virtual bool expired () const noexcept=0
 
virtual void * get_deleter () noexcept=0
 

Detailed Description

template<typename T, typename D = default_delete<T>>
class lagrange::internal::control_block< T, D >

NOT implemented: custom allocator support.

The allocator is intended to be used to allocate and deallocate internal shared_ptr details, not the object.

Member Function Documentation

◆ inc_ref()

void inc_ref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ inc_wref()

void inc_wref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ dec_ref()

void dec_ref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ dec_wref()

void dec_wref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ use_count()

long use_count ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ unique()

bool unique ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ weak_use_count()

long weak_use_count ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ expired()

bool expired ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ get_deleter()

void * get_deleter ( )
inlineoverridevirtualnoexcept

Implements control_block_base.


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