EPAM B2BITS C++ MOEX/Spectra MarketData handler  1.24.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
B2bits::RefCounterPtr< T > Class Template Reference

#include <b2bits/core/ReferenceCounter.h>

Public Types

typedef RefCounterPtr this_type
 
typedef T element_type
 

Public Member Functions

 RefCounterPtr () noexcept
 
 RefCounterPtr (T *p, bool addRef=true) noexcept
 
 RefCounterPtr (const RefCounterPtr &rhs) noexcept
 
 RefCounterPtr (RefCounterPtr &&rhs) noexcept
 
RefCounterPtroperator= (RefCounterPtr &&rhs) noexcept
 
template<typename U >
 RefCounterPtr (const RefCounterPtr< U > &rhs) noexcept
 
 ~RefCounterPtr () noexcept
 
RefCounterPtroperator= (RefCounterPtr const &rhs) noexcept
 
RefCounterPtroperator= (T *rhs)
 
T & operator* () const noexcept
 
T * operator-> () const noexcept
 
void reset () noexcept
 
void reset (T *rhs) noexcept
 
void reset (T *rhs, bool addRef) noexcept
 
T * abandon () noexcept
 
T * get () const noexcept
 
void swap (RefCounterPtr &rhs) noexcept
 

Detailed Description

template<typename T>
class B2bits::RefCounterPtr< T >

Intrusive ptr for reference counting

Member Typedef Documentation

template<typename T >
typedef T B2bits::RefCounterPtr< T >::element_type
template<typename T >
typedef RefCounterPtr B2bits::RefCounterPtr< T >::this_type

Constructor & Destructor Documentation

template<typename T >
B2bits::RefCounterPtr< T >::RefCounterPtr ( )
inlinenoexcept

Default Constructor.

template<typename T >
B2bits::RefCounterPtr< T >::RefCounterPtr ( T *  p,
bool  addRef = true 
)
inlineexplicitnoexcept

Constructor.

template<typename T >
B2bits::RefCounterPtr< T >::RefCounterPtr ( const RefCounterPtr< T > &  rhs)
inlinenoexcept

Copy constuctor

template<typename T >
B2bits::RefCounterPtr< T >::RefCounterPtr ( RefCounterPtr< T > &&  rhs)
inlinenoexcept

Move constuctor

template<typename T >
template<typename U >
B2bits::RefCounterPtr< T >::RefCounterPtr ( const RefCounterPtr< U > &  rhs)
inlinenoexcept

Conversion constuctor

template<typename T >
B2bits::RefCounterPtr< T >::~RefCounterPtr ( )
inlinenoexcept

Destructor

Member Function Documentation

template<typename T >
T* B2bits::RefCounterPtr< T >::abandon ( )
inlinenoexcept

Releases the ownership, returns the stored pointer.

template<typename T >
T* B2bits::RefCounterPtr< T >::get ( ) const
inlinenoexcept
template<typename T >
T& B2bits::RefCounterPtr< T >::operator* ( ) const
inlinenoexcept
template<typename T >
T* B2bits::RefCounterPtr< T >::operator-> ( ) const
inlinenoexcept
template<typename T >
RefCounterPtr& B2bits::RefCounterPtr< T >::operator= ( RefCounterPtr< T > &&  rhs)
inlinenoexcept
template<typename T >
RefCounterPtr& B2bits::RefCounterPtr< T >::operator= ( RefCounterPtr< T > const &  rhs)
inlinenoexcept
template<typename T >
RefCounterPtr& B2bits::RefCounterPtr< T >::operator= ( T *  rhs)
inline
template<typename T >
void B2bits::RefCounterPtr< T >::reset ( )
inlinenoexcept
template<typename T >
void B2bits::RefCounterPtr< T >::reset ( T *  rhs)
inlinenoexcept
template<typename T >
void B2bits::RefCounterPtr< T >::reset ( T *  rhs,
bool  addRef 
)
inlinenoexcept
template<typename T >
void B2bits::RefCounterPtr< T >::swap ( RefCounterPtr< T > &  rhs)
inlinenoexcept