|
AUI Framework
master
Cross-platform base for C++ UI apps
|
An std::weak_ptr with AUI extensions. More...
#include <AUI/Common/SharedPtrTypes.h>
Public Types# | |
| using | stored_t = T |
Public Member Functions# | |
| _ (const std::shared_ptr< T > &v) | |
| _ (std::shared_ptr< T > &&v) noexcept | |
| _ (const _ &v) | |
| _ (_ &&v) noexcept | |
| _ (const std::weak_ptr< T > &v) | |
| _ (const _weak< T > &v) | |
| _ & | operator= (const _ &rhs) noexcept |
| _ & | operator= (_ &&rhs) noexcept |
| _ (T *v)=delete | |
| _weak< T > | weak () const |
| template<typename SignalField, typename Object, typename Function> | |
| _< T > & | connect (SignalField signalField, Object object, Function &&function) |
| template<typename SignalField, typename Function> | |
| _< T > & | connect (SignalField signalField, Function &&function) |
| template<typename Functor> | |
| const _< T > & | operator^ (Functor &&functor) const |
| std::add_lvalue_reference_t< T > | value () const noexcept |
| Dereferences the stored pointer. | |
| std::add_lvalue_reference_t< T > | operator* () const noexcept |
| Dereferences the stored pointer. | |
| std::add_pointer_t< T > | operator-> () const noexcept |
| Dereferences the stored pointer. | |
| auto | begin () const |
| auto | end () const |
| auto | begin () |
| auto | end () |
|
template<typename Arg> requires requires (T&& l, Arg&& r) { std::forward<T>(l) << std::forward<Arg>(r); } | |
| const _< T > & | operator<< (Arg &&value) const |
| template<typename Arg> | |
| _< T > & | operator<< (Arg &&value) |
|
template<typename... Arg> requires std::is_invocable_v<T, Arg...> | |
| auto | operator() (Arg &&... value) const |
|
template<typename Arg> requires requires (T&& l, Arg&& r) { std::forward<T>(l) + std::forward<Arg>(r); } | |
| const _< T > & | operator+ (Arg &&value) const |
|
template<typename Arg> requires requires (T&& l, Arg&& r) { std::forward<T>(l) & std::forward<Arg>(r); } | |
| const _< T > & | operator& (Arg &&value) const |
|
template<typename Arg> requires requires (T&& l, Arg&& r) { std::forward<T>(l) | std::forward<Arg>(r); } | |
| const _< T > & | operator| (Arg &&value) const |
| template<typename Arg> | |
| _< T > & | operator+ (Arg &&value) |
| template<typename Arg> | |
| const _< T > & | operator* (Arg &&value) |
|
template<typename Arg> requires requires (T&& l, Arg&& r) { std::forward<T>(l) - std::forward<Arg>(r); } | |
| const _< T > & | operator- (Arg &&value) const |
| template<typename Arg> | |
| _< T > & | operator- (Arg &&value) |
|
template<typename Arg> requires requires (T&& l, Arg&& r) { std::forward<T>(l) >> std::forward<Arg>(r); } | |
| const _< T > & | operator>> (Arg &&value) const |
| template<typename... Args> | |
| _< T > & | operator() (const Args &... value) |
| template<typename... Args> | |
| auto | operator() (Args &&... value) |
Trap constructor
In order to make shared pointer from the raw one, please explicitly specify how do you want manage memory by using either aui::ptr::manage or aui::ptr::fake.
|
inlinenodiscardnoexcept |
On a debug build, throws an assertion failure if the stored pointer is nullptr, otherwise behaviour is undefined.
|
inlinenodiscardnoexcept |
On a debug build, throws an assertion failure if the stored pointer is nullptr, otherwise behaviour is undefined.
|
inlinenodiscardnoexcept |
On a debug build, throws an assertion failure if the stored pointer is nullptr, otherwise behaviour is undefined.