FastLED 3.9.15
|
Definition at line 106 of file shared_ptr.h.
#include <shared_ptr.h>
Public Types | |
using | element_type = T |
using | weak_type = weak_ptr<T> |
Public Member Functions | |
shared_ptr () noexcept | |
shared_ptr (const shared_ptr &other) | |
template<typename Y> | |
shared_ptr (const shared_ptr< Y > &other) | |
template<typename Y> | |
shared_ptr (const weak_ptr< Y > &weak) | |
shared_ptr (fl::nullptr_t) noexcept | |
shared_ptr (shared_ptr &&other) noexcept | |
template<typename Y> | |
shared_ptr (shared_ptr< Y > &&other) noexcept | |
~shared_ptr () | |
T * | get () const noexcept |
bool | is_no_tracking () const noexcept |
operator bool () const noexcept | |
bool | operator!= (fl::nullptr_t) const noexcept |
T & | operator* () const noexcept |
T * | operator-> () const noexcept |
shared_ptr & | operator= (const shared_ptr &other) |
template<typename Y> | |
shared_ptr & | operator= (const shared_ptr< Y > &other) |
shared_ptr & | operator= (shared_ptr &&other) noexcept |
template<typename Y> | |
shared_ptr & | operator= (shared_ptr< Y > &&other) noexcept |
bool | operator== (fl::nullptr_t) const noexcept |
T & | operator[] (ptrdiff_t idx) const |
void | reset () noexcept |
void | reset (shared_ptr &&other) noexcept |
void | swap (shared_ptr &&other) noexcept |
void | swap (shared_ptr &other) noexcept |
bool | unique () const noexcept |
long | use_count () const noexcept |
Private Member Functions | |
shared_ptr (T *ptr, detail::ControlBlockBase *control_block, detail::make_shared_tag) | |
shared_ptr (T *ptr, detail::ControlBlockBase *control_block, detail::no_tracking_tag) | |
template<typename Y> | |
shared_ptr (Y *ptr) | |
template<typename Y, typename Deleter> | |
shared_ptr (Y *ptr, Deleter d) | |
void | acquire () |
Private Attributes | |
detail::ControlBlockBase * | control_block_ |
T * | ptr_ |
Friends | |
template<typename Y> | |
class | shared_ptr |
template<typename Y, typename A, typename... Args> | |
shared_ptr< Y > | allocate_shared (const A &alloc, Args &&... args) |
template<typename Y, typename... Args> | |
shared_ptr< Y > | make_shared (Args &&... args) |
template<typename Y> | |
shared_ptr< Y > | make_shared_no_tracking (Y &obj) |
template<typename Y, typename Deleter, typename... Args> | |
shared_ptr< Y > | make_shared_with_deleter (Deleter d, Args &&... args) |
template<typename Y> | |
class | weak_ptr |