Atlas 0.7.0
Networking protocol for the Worldforge system.
Atlas::Objects::SmartPtr< T > Class Template Reference

Public Types

typedef T DataT
 

Public Member Functions

 SmartPtr (const SmartPtr< T > &a) noexcept
 
 SmartPtr (SmartPtr< T > &&a) noexcept
 
 SmartPtr (T *a_ptr) noexcept
 
template<class oldType >
 SmartPtr (const SmartPtr< oldType > &a) noexcept
 
template<class oldType >
 SmartPtr (SmartPtr< oldType > &&a) noexcept
 
SmartPtroperator= (const SmartPtr< T > &a) noexcept
 
SmartPtroperator= (SmartPtr< T > &&a) noexcept
 
template<class newType >
 operator SmartPtr< newType > () const noexcept
 
template<class newType >
 operator SmartPtr< const newType > () const noexcept
 
constexpr bool isValid () const noexcept
 
constexpr bool operator! () const noexcept
 
constexpr operator bool () const noexcept
 
constexpr T & operator* () const noexcept
 
constexpr T * operator-> () const noexcept
 
constexpr T * get () const noexcept
 
SmartPtr< T > copy () const noexcept
 

Detailed Description

template<class T>
class Atlas::Objects::SmartPtr< T >

Definition at line 17 of file SmartPtr.h.

Member Typedef Documentation

◆ DataT

template<class T >
typedef T Atlas::Objects::SmartPtr< T >::DataT

Definition at line 23 of file SmartPtr.h.

Constructor & Destructor Documentation

◆ SmartPtr() [1/6]

template<class T >
Atlas::Objects::SmartPtr< T >::SmartPtr ( )
inlinenoexcept

Definition at line 25 of file SmartPtr.h.

◆ SmartPtr() [2/6]

template<class T >
Atlas::Objects::SmartPtr< T >::SmartPtr ( const SmartPtr< T > &  a)
inlinenoexcept

Definition at line 27 of file SmartPtr.h.

◆ SmartPtr() [3/6]

template<class T >
Atlas::Objects::SmartPtr< T >::SmartPtr ( SmartPtr< T > &&  a)
inlinenoexcept

Definition at line 30 of file SmartPtr.h.

◆ SmartPtr() [4/6]

template<class T >
Atlas::Objects::SmartPtr< T >::SmartPtr ( T *  a_ptr)
inlinenoexcept

Definition at line 33 of file SmartPtr.h.

◆ SmartPtr() [5/6]

template<class T >
template<class oldType >
Atlas::Objects::SmartPtr< T >::SmartPtr ( const SmartPtr< oldType > &  a)
inlineexplicitnoexcept

Definition at line 38 of file SmartPtr.h.

◆ SmartPtr() [6/6]

template<class T >
template<class oldType >
Atlas::Objects::SmartPtr< T >::SmartPtr ( SmartPtr< oldType > &&  a)
inlineexplicitnoexcept

Definition at line 42 of file SmartPtr.h.

◆ ~SmartPtr()

template<class T >
Atlas::Objects::SmartPtr< T >::~SmartPtr ( )
inline

Definition at line 45 of file SmartPtr.h.

Member Function Documentation

◆ copy()

template<class T >
SmartPtr< T > Atlas::Objects::SmartPtr< T >::copy ( ) const
inlinenoexcept

Definition at line 100 of file SmartPtr.h.

◆ get()

template<class T >
constexpr T * Atlas::Objects::SmartPtr< T >::get ( ) const
inlineconstexprnoexcept

Definition at line 97 of file SmartPtr.h.

◆ isValid()

template<class T >
constexpr bool Atlas::Objects::SmartPtr< T >::isValid ( ) const
inlineconstexprnoexcept

Definition at line 77 of file SmartPtr.h.

◆ operator bool()

template<class T >
constexpr Atlas::Objects::SmartPtr< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept

Definition at line 84 of file SmartPtr.h.

◆ operator SmartPtr< const newType >()

template<class T >
template<class newType >
Atlas::Objects::SmartPtr< T >::operator SmartPtr< const newType > ( ) const
inlinenoexcept

Definition at line 74 of file SmartPtr.h.

◆ operator SmartPtr< newType >()

template<class T >
template<class newType >
Atlas::Objects::SmartPtr< T >::operator SmartPtr< newType > ( ) const
inlinenoexcept

Definition at line 70 of file SmartPtr.h.

◆ operator!()

template<class T >
constexpr bool Atlas::Objects::SmartPtr< T >::operator! ( ) const
inlineconstexprnoexcept

Definition at line 80 of file SmartPtr.h.

◆ operator*()

template<class T >
constexpr T & Atlas::Objects::SmartPtr< T >::operator* ( ) const
inlineconstexprnoexcept

Definition at line 89 of file SmartPtr.h.

◆ operator->()

template<class T >
constexpr T * Atlas::Objects::SmartPtr< T >::operator-> ( ) const
inlineconstexprnoexcept

Definition at line 93 of file SmartPtr.h.

◆ operator=() [1/2]

template<class T >
SmartPtr & Atlas::Objects::SmartPtr< T >::operator= ( const SmartPtr< T > &  a)
inlinenoexcept

Definition at line 48 of file SmartPtr.h.

◆ operator=() [2/2]

template<class T >
SmartPtr & Atlas::Objects::SmartPtr< T >::operator= ( SmartPtr< T > &&  a)
inlinenoexcept

Definition at line 57 of file SmartPtr.h.

Friends And Related Function Documentation

◆ SmartPtr

template<class T >
template<class U >
friend class SmartPtr
friend

Definition at line 21 of file SmartPtr.h.


The documentation for this class was generated from the following files: