SPH
Public Member Functions | Friends | List of all members
ClonePtr< T > Class Template Reference

#include <ClonePtr.h>

Public Member Functions

 ClonePtr ()=default
 
 ClonePtr (std::nullptr_t)
 
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
 ClonePtr (T2 *ptr)
 
 ClonePtr (const ClonePtr &other)
 
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
 ClonePtr (const ClonePtr< T2 > &other)
 
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
 ClonePtr (ClonePtr< T2 > &&other)
 
ClonePtroperator= (const ClonePtr &other)
 
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
ClonePtroperator= (const ClonePtr< T2 > &other)
 
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
ClonePtroperator= (ClonePtr< T2 > &&other)
 
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T*, T2*>::value>>
 operator AutoPtr< T2 > () &&
 
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T*, T2*>::value>>
 operator AutoPtr< T2 > () const &
 
ClonePtr< T > clone () const
 Explicitly create a new copy. More...
 
T & operator* () const
 
RawPtr< T > operator-> () const
 
RawPtr< T > get () const
 
 operator bool () const
 
bool operator! () const
 

Friends

template<typename >
class ClonePtr
 

Detailed Description

template<typename T>
class ClonePtr< T >

Definition at line 51 of file ClonePtr.h.

Constructor & Destructor Documentation

◆ ClonePtr() [1/6]

template<typename T >
ClonePtr< T >::ClonePtr ( )
default

◆ ClonePtr() [2/6]

template<typename T >
ClonePtr< T >::ClonePtr ( std::nullptr_t  )
inline

Definition at line 67 of file ClonePtr.h.

◆ ClonePtr() [3/6]

template<typename T >
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
ClonePtr< T >::ClonePtr ( T2 *  ptr)
inlineexplicit

Definition at line 70 of file ClonePtr.h.

◆ ClonePtr() [4/6]

template<typename T >
ClonePtr< T >::ClonePtr ( const ClonePtr< T > &  other)
inline

Definition at line 74 of file ClonePtr.h.

◆ ClonePtr() [5/6]

template<typename T >
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
ClonePtr< T >::ClonePtr ( const ClonePtr< T2 > &  other)
inline

Definition at line 78 of file ClonePtr.h.

◆ ClonePtr() [6/6]

template<typename T >
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
ClonePtr< T >::ClonePtr ( ClonePtr< T2 > &&  other)
inline

Definition at line 82 of file ClonePtr.h.

Member Function Documentation

◆ clone()

template<typename T >
ClonePtr<T> ClonePtr< T >::clone ( ) const
inline

Explicitly create a new copy.

Definition at line 114 of file ClonePtr.h.

◆ get()

template<typename T >
RawPtr<T> ClonePtr< T >::get ( ) const
inline

Definition at line 133 of file ClonePtr.h.

◆ operator AutoPtr< T2 >() [1/2]

template<typename T >
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T*, T2*>::value>>
ClonePtr< T >::operator AutoPtr< T2 > ( ) &&
inline

Definition at line 103 of file ClonePtr.h.

◆ operator AutoPtr< T2 >() [2/2]

template<typename T >
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T*, T2*>::value>>
ClonePtr< T >::operator AutoPtr< T2 > ( ) const &
inline

Definition at line 109 of file ClonePtr.h.

◆ operator bool()

template<typename T >
ClonePtr< T >::operator bool ( ) const
inlineexplicit

Definition at line 137 of file ClonePtr.h.

◆ operator!()

template<typename T >
bool ClonePtr< T >::operator! ( ) const
inline

Definition at line 141 of file ClonePtr.h.

◆ operator*()

template<typename T >
T& ClonePtr< T >::operator* ( ) const
inline

Definition at line 123 of file ClonePtr.h.

◆ operator->()

template<typename T >
RawPtr<T> ClonePtr< T >::operator-> ( ) const
inline

Definition at line 128 of file ClonePtr.h.

◆ operator=() [1/3]

template<typename T >
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
ClonePtr& ClonePtr< T >::operator= ( ClonePtr< T2 > &&  other)
inline

Definition at line 96 of file ClonePtr.h.

◆ operator=() [2/3]

template<typename T >
ClonePtr& ClonePtr< T >::operator= ( const ClonePtr< T > &  other)
inline

Definition at line 86 of file ClonePtr.h.

◆ operator=() [3/3]

template<typename T >
template<typename T2 , typename = std::enable_if_t<std::is_convertible<T2*, T*>::value>>
ClonePtr& ClonePtr< T >::operator= ( const ClonePtr< T2 > &  other)
inline

Definition at line 91 of file ClonePtr.h.

Friends And Related Function Documentation

◆ ClonePtr

template<typename T >
template<typename >
friend class ClonePtr
friend

Definition at line 53 of file ClonePtr.h.


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