|
|
| Ref () noexcept=default |
| | Constructor. Initializes object pointer to nullptr.
|
| |
|
| Ref (std::nullptr_t) noexcept |
| | Initializes object pointer to nullptr.
|
| |
| | Ref (T *ptr) noexcept |
| | Initializes object pointer with ptr and retains a reference. More...
|
| |
| | Ref (const Ref &other) |
| | Initializes object pointer with other and retains a reference. More...
|
| |
| template<class D , typename = typename std::enable_if<std::is_convertible<D*, T*>::value>::type> |
| | Ref (const Ref< D > &other) |
| | Initializes object pointer with other and retains a reference. More...
|
| |
|
| ~Ref () noexcept |
| | Releases reference being held (if any).
|
| |
| T * | operator-> () const noexcept |
| | Access pointer. More...
|
| |
| T ** | getInitReference () noexcept |
| | Access pointer for initialization. More...
|
| |
| bool | operator== (const Ref &other) const noexcept |
| | Check if two refs are the same. More...
|
| |
| bool | operator!= (const Ref &other) const noexcept |
| | Check if two refs are not the same. More...
|
| |
| Ref & | operator= (const Ref &other) noexcept |
| | Assign a strong reference. More...
|
| |
| template<class D , typename = typename std::enable_if<std::is_convertible<D*, T*>::value>::type> |
| Ref & | operator= (const Ref< D > &other) noexcept |
| | Assign a strong reference. More...
|
| |
| Ref & | operator= (T *ptr) noexcept |
| | Assign a raw pointer. More...
|
| |
| Ref & | operator= (std::nullptr_t) noexcept |
| | Assign a nullptr_t. More...
|
| |
| Ref & | assign (T *ptr) noexcept |
| | Assign an object. Presumes shared ownership, increases reference count. More...
|
| |
| Ref & | acquire (T *ptr) noexcept |
| | Acquire ownership of the object. More...
|
| |
| Ref & | make_ref (T *ptr) noexcept |
| | Create ref without acquiring ownership. More...
|
| |
|
T * | reset () noexcept |
| | Reset reference counted object and assign nullptr to the pointer.
|
| |
| template<typename S > |
| Ref< S > | as () const noexcept |
| | Make smart reference with relative type. More...
|
| |
|
| RefBase () noexcept=default |
| | Initializes object pointer to nullptr.
|
| |
| | RefBase (T *ptr) noexcept |
| | Initializes object pointer with ptr. More...
|
| |
| | operator T* () const noexcept |
| | Get raw object pointer. More...
|
| |
| T & | operator* () const noexcept |
| | Dereference operator. More...
|
| |
| | operator bool () const noexcept |
| | Implicit cast to bool. More...
|
| |
| bool | operator== (const RefBase &other) const noexcept |
| | Check if two refs are the same. More...
|
| |
| bool | operator!= (const RefBase &other) const noexcept |
| | Check if two refs are not the same. More...
|
| |
| bool | isNull () const noexcept |
| | Check for nullptr. More...
|
| |
| bool | isExpired () const noexcept |
| | Check is object is dead. More...
|
| |
| bool | isUnique () const noexcept |
| | Check if object has only one strong reference. More...
|
| |
| T * | get () const noexcept |
| | Get current raw object pointer. More...
|
| |
| void | set (T *ptr) noexcept |
| | Replace object pointer without any checks or reference management. More...
|
| |
template<typename T>
struct fsdk::Ref< T >
Smart pointer for reference counted objects.
Automatically calls retain/release and provides safety assertions.
- Template Parameters
-