HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_IntrusivePtr.h File Reference
#include <SYS/SYS_AtomicInt.h>
#include <SYS/SYS_Inline.h>
#include <SYS/SYS_Types.h>
#include <memory>
#include <hboost/intrusive_ptr.hpp>
+ Include dependency graph for UT_IntrusivePtr.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  UT_IntrusivePtr< T >
 Wrapper around hboost::intrusive_ptr. More...
 
struct  UT_IntrusiveThreadSafeCounterPolicy
 Thread-safe policy for UT_IntrusiveRefCounter. More...
 
struct  UT_IntrusiveNonThreadSafeCounterPolicy
 NON Thread-safe policy for UT_IntrusiveRefCounter. More...
 
class  UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT >
 A reference counter base class for use with UT_IntrusivePtr. More...
 
class  UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT >
 A reference counter base class for use with UT_IntrusivePtr. More...
 
struct  UT::DefaultClearer< T >
 
struct  UT::DefaultClearer< UT_IntrusivePtr< T > >
 

Namespaces

 UT
 

Functions

template<typename T , typename... ArgsT>
UT_IntrusivePtr< T > UTmakeIntrusive (ArgsT &&...args)
 Constructs an object of type T wrapped in a UT_IntrusivePtr. More...
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_add_ref (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p) noexcept
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_release (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p) noexcept
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_add_ref (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p, typename CounterPolicyT::pod_type refs_to_add) noexcept
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_release (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p, typename CounterPolicyT::pod_type refs_to_remove) noexcept
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_add_ref (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p) noexcept
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_release (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p) noexcept
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_add_ref (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p, typename CounterPolicyT::pod_type refs_to_add) noexcept
 
template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_release (const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *p, typename CounterPolicyT::pod_type refs_to_remove) noexcept
 

Function Documentation

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_add_ref ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p)
noexcept

Definition at line 345 of file UT_IntrusivePtr.h.

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_add_ref ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p,
typename CounterPolicyT::pod_type  refs_to_add 
)
noexcept

Definition at line 364 of file UT_IntrusivePtr.h.

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_add_ref ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p)
noexcept

Definition at line 345 of file UT_IntrusivePtr.h.

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_add_ref ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p,
typename CounterPolicyT::pod_type  refs_to_add 
)
noexcept

Definition at line 364 of file UT_IntrusivePtr.h.

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_release ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p)
noexcept

Definition at line 352 of file UT_IntrusivePtr.h.

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
void intrusive_ptr_release ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p,
typename CounterPolicyT::pod_type  refs_to_remove 
)
noexcept

Definition at line 372 of file UT_IntrusivePtr.h.

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_release ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p)
noexcept

Definition at line 352 of file UT_IntrusivePtr.h.

template<typename DerivedT , typename Deleter , typename CounterPolicyT >
SYS_FORCE_INLINE void intrusive_ptr_release ( const UT_IntrusiveRefCounter< DerivedT, Deleter, CounterPolicyT > *  p,
typename CounterPolicyT::pod_type  refs_to_remove 
)
noexcept

Definition at line 372 of file UT_IntrusivePtr.h.

template<typename T , typename... ArgsT>
UT_IntrusivePtr<T> UTmakeIntrusive ( ArgsT &&...  args)

Constructs an object of type T wrapped in a UT_IntrusivePtr.

Definition at line 122 of file UT_IntrusivePtr.h.