AUI Framework  master
Cross-platform module-based framework for developing C++20 desktop applications
_< T > Class Template Reference

An std::weak_ptr with AUI extensions. More...

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.
Examples
/github/workspace/aui.core/src/AUI/Common/AObject.h, and /github/workspace/aui.views/src/AUI/View/AView.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)
 

Friends

struct aui::ptr
 

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
inline
Returns
weak reference

#include <AUI/Common/SharedPtrTypes.h>


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