AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
_< T > Class Template Reference

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>
_< T > & operator^ (Functor &&functor)
 
auto begin () const
 
auto end () const
 
auto begin ()
 
auto end ()
 
template<typename Arg>
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>
const _< T > & operator+ (Arg &&value) const
 
template<typename Arg>
_< T > & operator+ (Arg &&value)
 
template<typename Arg>
const _< T > & operator* (Arg &&value)
 
std::add_lvalue_reference_t< T > operator* () const noexcept
 
template<typename Arg>
const _< T > & operator- (Arg &&value) const
 
template<typename Arg>
_< T > & operator- (Arg &&value)
 
template<typename Arg>
_< T > & operator>> (Arg &&value)
 
template<typename... Args>
_< T > & operator() (const Args &... value)
 
template<typename... Args>
auto operator() (Args &&... value)
 

Detailed Description

template<typename T>
class _< T >

An std::weak_ptr with AUI extensions.

Note
Of course, it is not good tone to define a class with _ type but it significantly increases coding speed. Instead of writing every time std::shared_ptr you should write only the _ symbol.

Constructor & Destructor Documentation

◆ _()

template<typename T>
_< T >::_ ( T * v)
delete

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.

Member Function Documentation

◆ weak()

template<typename T>
_weak< T > _< T >::weak ( ) const
inlinenodiscard
Returns
weak reference

The documentation for this class was generated from the following files:
Inheritance diagram for _< T >:
Collaboration diagram for _< T >: