SPH
Classes | Namespaces | Functions
SharedPtr.h File Reference
#include "objects/wrappers/AutoPtr.h"
#include <atomic>

Go to the source code of this file.

Classes

class  Detail::ControlBlockHolder
 
class  Detail::ControlBlock< T >
 
class  SharedPtr< T >
 
class  WeakPtr< T >
 
class  ShareFromThis< T >
 
struct  IsShareFromThis< T, TEnabler >
 
struct  IsShareFromThis< T, typename T::SHARE_FROM_THIS_TAG >
 

Namespaces

 Detail
 

Functions

template<typename T >
bool operator== (const SharedPtr< T > &ptr, std::nullptr_t)
 
template<typename T >
bool operator== (std::nullptr_t, const SharedPtr< T > &ptr)
 
template<typename T >
bool operator!= (const SharedPtr< T > &ptr, std::nullptr_t)
 
template<typename T >
bool operator!= (std::nullptr_t, const SharedPtr< T > &ptr)
 
template<typename T >
bool operator== (const SharedPtr< T > &ptr1, const SharedPtr< T > &ptr2)
 
template<typename T >
bool operator!= (const SharedPtr< T > &ptr1, const SharedPtr< T > &ptr2)
 
template<typename T >
bool operator< (const SharedPtr< T > &ptr1, const SharedPtr< T > &ptr2)
 
template<typename T , typename... TArgs>
INLINE SharedPtr< T > makeShared (TArgs &&... args)
 
template<typename T >
std::enable_if_t< IsShareFromThis< T >::value > setSharedFromThis (const SharedPtr< T > &ptr)
 
template<typename T >
std::enable_if_t<!IsShareFromThis< T >::value > setSharedFromThis (const SharedPtr< T > &UNUSED(ptr))
 

Function Documentation

◆ makeShared()

template<typename T , typename... TArgs>
INLINE SharedPtr<T> makeShared ( TArgs &&...  args)

Definition at line 410 of file SharedPtr.h.

◆ operator!=() [1/3]

template<typename T >
bool operator!= ( const SharedPtr< T > &  ptr,
std::nullptr_t   
)

Definition at line 286 of file SharedPtr.h.

◆ operator!=() [2/3]

template<typename T >
bool operator!= ( const SharedPtr< T > &  ptr1,
const SharedPtr< T > &  ptr2 
)

Definition at line 301 of file SharedPtr.h.

◆ operator!=() [3/3]

template<typename T >
bool operator!= ( std::nullptr_t  ,
const SharedPtr< T > &  ptr 
)

Definition at line 291 of file SharedPtr.h.

◆ operator<()

template<typename T >
bool operator< ( const SharedPtr< T > &  ptr1,
const SharedPtr< T > &  ptr2 
)

Definition at line 306 of file SharedPtr.h.

◆ operator==() [1/3]

template<typename T >
bool operator== ( const SharedPtr< T > &  ptr,
std::nullptr_t   
)

Definition at line 276 of file SharedPtr.h.

◆ operator==() [2/3]

template<typename T >
bool operator== ( const SharedPtr< T > &  ptr1,
const SharedPtr< T > &  ptr2 
)

Definition at line 296 of file SharedPtr.h.

◆ operator==() [3/3]

template<typename T >
bool operator== ( std::nullptr_t  ,
const SharedPtr< T > &  ptr 
)

Definition at line 281 of file SharedPtr.h.

◆ setSharedFromThis() [1/2]

template<typename T >
std::enable_if_t<IsShareFromThis<T>::value> setSharedFromThis ( const SharedPtr< T > &  ptr)

Definition at line 449 of file SharedPtr.h.

◆ setSharedFromThis() [2/2]

template<typename T >
std::enable_if_t<!IsShareFromThis<T>::value> setSharedFromThis ( const SharedPtr< T > &  UNUSEDptr)

Definition at line 454 of file SharedPtr.h.