|
| | shared_ptr (std::nullptr_t) |
| |
| template<class U , typename std::enable_if< compatible_with_t< U, T >::value, int >::type = 0> |
| | shared_ptr (U *ptr) |
| |
| template<typename DELETER > |
| | shared_ptr (T *ptr, DELETER deleter) |
| |
| template<class U > |
| | shared_ptr (const shared_ptr< U > &ref, T *ptr) noexcept |
| |
| template<class U , typename std::enable_if< compatible_with_t< U, T >::value, int >::type = 0> |
| | shared_ptr (const shared_ptr< U > &ref) noexcept |
| |
| | shared_ptr (const shared_ptr &other) |
| |
| template<class U , typename std::enable_if< compatible_with_t< U, T >::value, int >::type = 0> |
| | shared_ptr (shared_ptr< U > &&ref) noexcept |
| |
| | shared_ptr (shared_ptr< T, SAFE > &&other) noexcept |
| |
| | shared_ptr (std::shared_ptr< T > other) |
| |
| template<class U > |
| | shared_ptr (weak_ptr< U > other) |
| |
| template<class U , class DELETER , bool SAFE_P, typename std::enable_if< compatible_with_t< U, T >::value &&std::is_convertible< typename unique_ptr< U, DELETER >::pointer, T * >::value, int >::type = 0> |
| | shared_ptr (unique_ptr< U, DELETER, SAFE_P > &&other) |
| |
| shared_ptr< T, SAFE > & | operator= (const shared_ptr< T, SAFE > &other) noexcept |
| |
| template<class U , typename std::enable_if< compatible_with_t< U, T >::value, int >::type = 0> |
| shared_ptr< T > & | operator= (const shared_ptr< U > &other) |
| |
| shared_ptr< T, SAFE > & | operator= (shared_ptr &&other) noexcept |
| |
| template<class U , typename std::enable_if< compatible_with_t< U, T >::value, int >::type = 0> |
| shared_ptr< T, SAFE > & | operator= (shared_ptr< U > &&other) |
| |
| template<class U , class DELETER , bool SAFE_P, typename std::enable_if< compatible_with_t< U, T >::value &&std::is_convertible< typename unique_ptr< U, DELETER >::pointer, T * >::value, int >::type = 0> |
| shared_ptr< T, SAFE > & | operator= (unique_ptr< U, DELETER, SAFE_P > &&ref) |
| |
| void | reset () |
| |
| template<typename U > |
| void | reset (U *ptr) |
| |
| template<typename U , typename DELETER > |
| void | reset (U *ptr, DELETER deleter) |
| |
| void | swap (shared_ptr &r) noexcept |
| |
| T * | get () const |
| |
| long | use_count () const |
| |
| | operator bool () const noexcept |
| |
| std::add_lvalue_reference< T >::type | operator* () const |
| |
| T * | operator-> () const |
| |
| template<typename U > |
| bool | operator== (const shared_ptr< U > &other) const noexcept |
| |
| template<typename U > |
| bool | operator!= (const shared_ptr< U > &other) const noexcept |
| |
| bool | operator== (std::nullptr_t) const noexcept |
| |
| bool | operator!= (std::nullptr_t) const noexcept |
| |
| template<typename U > |
| bool | operator< (const shared_ptr< U > &other) const noexcept |
| |
| template<typename U > |
| bool | operator<= (const shared_ptr< U > &other) const noexcept |
| |
| template<typename U > |
| bool | operator> (const shared_ptr< U > &other) const noexcept |
| |
| template<typename U > |
| bool | operator>= (const shared_ptr< U > &other) const noexcept |
| |
| shared_ptr< T, SAFE > | atomic_load () const |
| |
| shared_ptr< T, SAFE > | atomic_load (std::memory_order order) const |
| |
| void | atomic_store (const shared_ptr< T, SAFE > &new_ptr) |
| |