82 T*
get() const noexcept
118 template <
typename T,
typename U>
119 inline bool operator == (
const counted_ptr<T>& _Left,
const counted_ptr<U>& _Right)
121 return _Left.get() == _Right.get();
123 template <
typename T>
124 inline bool operator == (
const counted_ptr<T>& _Left, std::nullptr_t)
126 return _Left.get() ==
nullptr;
128 template <
typename T>
129 inline bool operator == (std::nullptr_t,
const counted_ptr<T>& _Left)
131 return _Left.get() ==
nullptr;
133 template <
typename T>
134 inline bool operator != (
const counted_ptr<T>& _Left, std::nullptr_t)
136 return _Left.get() !=
nullptr;
138 template <
typename T>
139 inline bool operator != (std::nullptr_t,
const counted_ptr<T>& _Left)
141 return _Left.get() !=
nullptr;
counted_ptr(T *p)
通过裸指针构造一个计数指针。
Definition: counted_ptr.h:27
counted_ptr & operator=(counted_ptr &&cp) noexcept
移动赋值函数。
Definition: counted_ptr.h:56
counted_ptr() noexcept=default
构造一个无内容的计数指针。
counted_ptr(counted_ptr &&cp) noexcept
移动构造函数。
Definition: counted_ptr.h:35
T * get() const noexcept
获得管理的state指针。
Definition: counted_ptr.h:82
专用与state的智能计数指针,通过管理state内嵌的引用计数来管理state的生存期。
Definition: counted_ptr.h:9
void reset()
重置为空指针。
Definition: counted_ptr.h:90
T * operator->() const noexcept
重载指针操作符。
Definition: counted_ptr.h:74
counted_ptr & operator=(const counted_ptr &cp)
拷贝赋值函数。
Definition: counted_ptr.h:43
~counted_ptr()
析构函数中自动做一个计数减一操作。计数减为0,则删除state对象。
Definition: counted_ptr.h:66
counted_ptr(const counted_ptr &cp)
拷贝构造函数。
Definition: counted_ptr.h:19