|
FastLED 3.9.15
|
Definition at line 155 of file shared_ptr.h.
#include <shared_ptr.h>
Collaboration diagram for fl::shared_ptr< T >:Public Types | |
| using | element_type = T |
| using | weak_type = weak_ptr<T> |
Public Member Functions | |
| shared_ptr () FL_NOEXCEPT | |
| shared_ptr (const shared_ptr &other) FL_NOEXCEPT | |
| template<typename Y, typename = typename fl::enable_if<fl::is_base_of<T, Y>::value>::type> | |
| shared_ptr (const shared_ptr< Y > &other) FL_NOEXCEPT | |
| template<typename Y> | |
| shared_ptr (const shared_ptr< Y > &other, T *ptr) FL_NOEXCEPT | |
| template<typename Y> | |
| shared_ptr (const weak_ptr< Y > &weak) FL_NOEXCEPT | |
| shared_ptr (fl::nullptr_t) FL_NOEXCEPT | |
| shared_ptr (shared_ptr &&other) FL_NOEXCEPT | |
| template<typename Y, typename = typename fl::enable_if<fl::is_base_of<T, Y>::value>::type> | |
| shared_ptr (shared_ptr< Y > &&other) FL_NOEXCEPT | |
| ~shared_ptr () FL_NOEXCEPT | |
| T * | get () const FL_NOEXCEPT |
| bool | is_no_tracking () const FL_NOEXCEPT |
| operator bool () const FL_NOEXCEPT | |
| bool | operator!= (fl::nullptr_t) const FL_NOEXCEPT |
| T & | operator* () const FL_NOEXCEPT |
| T * | operator-> () const FL_NOEXCEPT |
| shared_ptr & | operator= (const shared_ptr &other) FL_NOEXCEPT |
| template<typename Y, typename = typename fl::enable_if<fl::is_base_of<T, Y>::value>::type> | |
| shared_ptr & | operator= (const shared_ptr< Y > &other) FL_NOEXCEPT |
| shared_ptr & | operator= (shared_ptr &&other) FL_NOEXCEPT |
| template<typename Y, typename = typename fl::enable_if<fl::is_base_of<T, Y>::value>::type> | |
| shared_ptr & | operator= (shared_ptr< Y > &&other) FL_NOEXCEPT |
| bool | operator== (fl::nullptr_t) const FL_NOEXCEPT |
| T & | operator[] (ptrdiff_t idx) const FL_NOEXCEPT |
| void | reset () FL_NOEXCEPT |
| void | reset (shared_ptr &&other) FL_NOEXCEPT |
| void | swap (shared_ptr &&other) FL_NOEXCEPT |
| void | swap (shared_ptr &other) FL_NOEXCEPT |
| bool | unique () const FL_NOEXCEPT |
| long | use_count () const FL_NOEXCEPT |
Private Member Functions | |
| shared_ptr (T *ptr, detail::ControlBlockBase *control_block, detail::make_shared_tag) FL_NOEXCEPT | |
| shared_ptr (T *ptr, detail::ControlBlockBase *control_block, detail::no_tracking_tag) FL_NOEXCEPT | |
| template<typename Y> | |
| shared_ptr (Y *ptr) FL_NOEXCEPT | |
| template<typename Y, typename Deleter> | |
| shared_ptr (Y *ptr, Deleter d) FL_NOEXCEPT | |
| void | acquire () FL_NOEXCEPT |
Private Attributes | |
| detail::ControlBlockBase * | mControlBlock |
| T * | mPtr |
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_array (size_t n) |
| template<typename Y> | |
| shared_ptr< Y > | make_shared_no_tracking (Y &obj) FL_NOEXCEPT |
| template<typename Y, typename Deleter, typename... Args> | |
| shared_ptr< Y > | make_shared_with_deleter (Deleter d, Args &&... args) |
| template<typename Y> | |
| class | weak_ptr |