|
libebml_ng
|
A drop-in replacement for std::weak_ptr tailored for EBML objects. More...
#include <ptrs.h>
Public Member Functions | |
| ebml_weak_ptr () | |
| ebml_weak_ptr (const std::nullptr_t &) | |
| ebml_weak_ptr (const ebml_shared_ptr< T > &sharedPtr) | |
| ebml_weak_ptr (const ebml_weak_ptr< T > &other) | |
| ebml_weak_ptr (ebml_weak_ptr< T > &&other) | |
| ebml_weak_ptr< T > & | operator= (const ebml_weak_ptr< T > &other) |
| ebml_weak_ptr< T > & | operator= (ebml_weak_ptr< T > &&other) |
| ~ebml_weak_ptr () | |
| ebml_shared_ptr< T > | lock () const |
| ebml_shared_ptr< const T > | c_lock () const |
| template<typename U > | |
| ebml_shared_ptr< U > | lock () const |
| template<typename U > | |
| std::enable_if_t<!std::is_same< T, U >::value, ebml_shared_ptr< U > > | c_lock () const |
| bool | expired () const |
Protected Member Functions | |
| ebml_weak_ptr (control_block *ctl, T *ptr) | |
Protected Attributes | |
| std::mutex | mutex |
| control_block * | ctl = nullptr |
| T * | ptr = nullptr |
Friends | |
| template<typename U , typename V > | |
| ebml_weak_ptr< U > | ebml_static_pointer_cast (const ebml_weak_ptr< V > &) |
| template<typename U , typename V > | |
| ebml_weak_ptr< U > | ebml_dynamic_pointer_cast (const ebml_weak_ptr< V > &) |
A drop-in replacement for std::weak_ptr tailored for EBML objects.
The ebml_weak_ptr provides a safe mechanism to observe an object managed by ebml_shared_ptr without affecting its lifetime.
| T | Type of the object being observed. |
|
inlineexplicitprotected |
|
inline |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
mutableprotected |
|
mutableprotected |
|
protected |
1.8.14