libcopp
2.2.0
|
#include <intrusive_ptr.h>
Public Types | |
using | self_type = intrusive_ptr< T > |
using | element_type = T |
Public Member Functions | |
constexpr | intrusive_ptr () LIBCOPP_MACRO_NOEXCEPT |
intrusive_ptr (T *p, bool add_ref=true) | |
template<typename U > | |
intrusive_ptr (intrusive_ptr< U > const &rhs, typename std::enable_if< std::is_convertible< U *, T * >::value >::type *=nullptr) | |
intrusive_ptr (self_type const &rhs) | |
~intrusive_ptr () | |
template<typename U > | |
intrusive_ptr & | operator= (intrusive_ptr< U > const &rhs) |
intrusive_ptr (self_type &&rhs) LIBCOPP_MACRO_NOEXCEPT | |
self_type & | operator= (self_type &&rhs) LIBCOPP_MACRO_NOEXCEPT |
template<typename U > | |
intrusive_ptr (intrusive_ptr< U > &&rhs, typename std::enable_if< std::is_convertible< U *, T * >::value >::type *=nullptr) LIBCOPP_MACRO_NOEXCEPT | |
template<typename U , typename Deleter > | |
self_type & | operator= (std::unique_ptr< U, Deleter > &&rhs) |
self_type & | operator= (self_type const &rhs) |
void | reset () LIBCOPP_MACRO_NOEXCEPT |
void | reset (element_type *rhs) |
void | reset (element_type *rhs, bool add_ref) |
element_type * | get () const LIBCOPP_MACRO_NOEXCEPT |
element_type * | detach () LIBCOPP_MACRO_NOEXCEPT |
element_type & | operator* () const |
element_type * | operator-> () const |
operator bool () const LIBCOPP_MACRO_NOEXCEPT | |
bool | operator! () const LIBCOPP_MACRO_NOEXCEPT |
void | swap (intrusive_ptr &rhs) LIBCOPP_MACRO_NOEXCEPT |
Private Attributes | |
element_type * | px |
Friends | |
template<typename U > | |
class | intrusive_ptr |
Definition at line 50 of file intrusive_ptr.h.
using util::intrusive_ptr< T >::element_type = T |
Definition at line 53 of file intrusive_ptr.h.
using util::intrusive_ptr< T >::self_type = intrusive_ptr<T> |
Definition at line 52 of file intrusive_ptr.h.
|
inlineconstexpr |
Definition at line 55 of file intrusive_ptr.h.
|
inline |
Definition at line 57 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 64 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 72 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 78 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 94 of file intrusive_ptr.h.
|
inline |
Definition at line 102 of file intrusive_ptr.h.
|
inline |
Definition at line 127 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 125 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
Referenced by util::const_pointer_cast(), util::get_pointer(), and util::static_pointer_cast().
|
inline |
Definition at line 144 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 146 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 133 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 138 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
|
inline |
Definition at line 88 of file intrusive_ptr.h.
|
inline |
Definition at line 96 of file intrusive_ptr.h.
|
inline |
Definition at line 114 of file intrusive_ptr.h.
|
inline |
Definition at line 109 of file intrusive_ptr.h.
|
inline |
Definition at line 119 of file intrusive_ptr.h.
|
inline |
Definition at line 121 of file intrusive_ptr.h.
|
inline |
Definition at line 123 of file intrusive_ptr.h.
|
inline |
Definition at line 148 of file intrusive_ptr.h.
References util::intrusive_ptr< T >::px.
Referenced by util::swap().
Definition at line 85 of file intrusive_ptr.h.
|
private |
Definition at line 155 of file intrusive_ptr.h.
Referenced by util::intrusive_ptr< T >::detach(), util::intrusive_ptr< T >::get(), util::intrusive_ptr< T >::intrusive_ptr(), util::intrusive_ptr< T >::operator bool(), util::intrusive_ptr< T >::operator!(), util::intrusive_ptr< T >::operator*(), util::intrusive_ptr< T >::operator->(), util::intrusive_ptr< T >::swap(), and util::intrusive_ptr< T >::~intrusive_ptr().