Lagrange
Loading...
Searching...
No Matches
control_block< T, D > Class Template Reference

NOT implemented: custom allocator support. More...

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

Inheritance diagram for control_block< T, D >:
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
 

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()

template<typename T, typename D = default_delete<T>>
void inc_ref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ inc_wref()

template<typename T, typename D = default_delete<T>>
void inc_wref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ dec_ref()

template<typename T, typename D = default_delete<T>>
void dec_ref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ dec_wref()

template<typename T, typename D = default_delete<T>>
void dec_wref ( )
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ use_count()

template<typename T, typename D = default_delete<T>>
long use_count ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ unique()

template<typename T, typename D = default_delete<T>>
bool unique ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ weak_use_count()

template<typename T, typename D = default_delete<T>>
long weak_use_count ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ expired()

template<typename T, typename D = default_delete<T>>
bool expired ( ) const
inlineoverridevirtualnoexcept

Implements control_block_base.

◆ get_deleter()

template<typename T, typename D = default_delete<T>>
void * get_deleter ( )
inlineoverridevirtualnoexcept

Implements control_block_base.


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