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.