Reference count handle.
More...
#include <asyncpp/ref.h>
|
|
constexpr | ref () noexcept |
| | Construct an empty ref.
|
| |
| | ref (T *ptr, decltype(adopt_ref)) noexcept |
| | Construct a new ref object.
|
| |
| | ref (T *ptr) noexcept(noexcept(refcounted_add_ref(std::declval< T * >()))) |
| | Construct a new ref object incrementing the reference count of the passed pointer.
|
| |
| | ref (const ref &other) noexcept(noexcept(refcounted_add_ref(std::declval< T * >()))) |
| | Construct a new ref object.
|
| |
|
constexpr | ref (ref &&other) noexcept |
| | Move constructor.
|
| |
|
ref & | operator= (const ref &other) noexcept(noexcept(refcounted_add_ref(std::declval< T * >())) &&noexcept(refcounted_remove_ref(std::declval< T * >()))) |
| | Assignment operator.
|
| |
|
ref & | operator= (ref &&other) noexcept(noexcept(refcounted_remove_ref(std::declval< T * >()))) |
| | Move assignment operator.
|
| |
| void | reset (T *ptr) noexcept(noexcept(refcounted_add_ref(std::declval< T * >())) &&noexcept(refcounted_remove_ref(std::declval< T * >()))) |
| | Reset the handle with a new value.
|
| |
| void | reset (T *ptr, decltype(adopt_ref)) noexcept(noexcept(refcounted_remove_ref(std::declval< T * >()))) |
| | Reset the handle with a new value.
|
| |
|
void | reset () noexcept(noexcept(refcounted_remove_ref(std::declval< T * >()))) |
| | Reset the handle to nullptr.
|
| |
|
| ~ref () noexcept(noexcept(refcounted_remove_ref(std::declval< T * >()))) |
| | Destructor.
|
| |
|
constexpr T * | operator-> () const noexcept |
| | Dereference this handle.
|
| |
|
constexpr T & | operator* () const noexcept |
| | Dereference this handle.
|
| |
|
constexpr T * | get () const noexcept |
| | Get the contained value.
|
| |
|
constexpr T * | release () noexcept |
| | Release the contained pointer.
|
| |
|
constexpr | operator bool () const noexcept |
| | Check if the handle contains a pointer.
|
| |
|
constexpr bool | operator! () const noexcept |
| | Check if the handle contains no pointer.
|
| |
template<typename T>
class asyncpp::ref< T >
Reference count handle.
- Template Parameters
-
| T | Type of the reference counted class |
◆ ref() [1/3]
template<typename T >
| asyncpp::ref< T >::ref |
( |
T * | ptr, |
|
|
decltype(adopt_ref< T >) | ) |
|
inlinenoexcept |
Construct a new ref object.
- Parameters
-
| ptr | The pointer to store |
| adopt_ref | the reference count is already incremented, keep it as is |
◆ ref() [2/3]
Construct a new ref object incrementing the reference count of the passed pointer.
- Parameters
-
◆ ref() [3/3]
Construct a new ref object.
- Parameters
-
| ptr | The pointer to store |
| adopt_ref | the reference count is already incremented, keep it as is |
Copy constructor
◆ reset() [1/2]
Reset the handle with a new value.
- Parameters
-
| ptr | The new pointer |
| adopt_ref | the reference count is already incremented, keep it as is |
◆ reset() [2/2]
template<typename T >
| void asyncpp::ref< T >::reset |
( |
T * | ptr, |
|
|
decltype(adopt_ref< T >) | ) |
|
inlinenoexcept |
Reset the handle with a new value.
- Parameters
-
| ptr | The new pointer |
| adopt_ref | the reference count is already incremented, keep it as is |
The documentation for this class was generated from the following file: