Lagrange
|
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 |
NOT implemented: custom allocator support.
The allocator is intended to be used to allocate and deallocate internal shared_ptr details, not the object.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.
|
inlineoverridevirtualnoexcept |
Implements control_block_base.