|
FastLED 3.9.15
|
Definition at line 106 of file shared_ptr.h.
#include <shared_ptr.h>
Inheritance diagram for fl::shared_ptr< T >:
Collaboration diagram for fl::shared_ptr< T >: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, typename = typename fl::enable_if<fl::is_base_of<T, Y>::value || fl::is_base_of<Y, T>::value>::type> | |
| 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, typename = typename fl::enable_if<fl::is_base_of<T, Y>::value || fl::is_base_of<Y, T>::value>::type> | |
| 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 |