ATLAS Offline Software
Public Types | Public Member Functions | List of all members
SG::DataObjectSharedPtr< T > Class Template Reference

Smart pointer to manage DataObject reference counts. More...

#include <DataObjectSharedPtr.h>

Inheritance diagram for SG::DataObjectSharedPtr< T >:
Collaboration diagram for SG::DataObjectSharedPtr< T >:

Public Types

typedef boost::intrusive_ptr< T > Base
 

Public Member Functions

 DataObjectSharedPtr ()
 
 DataObjectSharedPtr (T *p, bool add_ref=true)
 
 DataObjectSharedPtr (std::unique_ptr< T > p, bool add_ref=true)
 
 DataObjectSharedPtr (const DataObjectSharedPtr &rhs)
 
template<class U >
 DataObjectSharedPtr (const DataObjectSharedPtr< U > &rhs)
 
DataObjectSharedPtroperator= (const DataObjectSharedPtr &rhs)=default
 

Detailed Description

template<class T>
class SG::DataObjectSharedPtr< T >

Smart pointer to manage DataObject reference counts.

Definition at line 44 of file DataObjectSharedPtr.h.

Member Typedef Documentation

◆ Base

template<class T >
typedef boost::intrusive_ptr<T> SG::DataObjectSharedPtr< T >::Base

Definition at line 48 of file DataObjectSharedPtr.h.

Constructor & Destructor Documentation

◆ DataObjectSharedPtr() [1/5]

template<class T >
SG::DataObjectSharedPtr< T >::DataObjectSharedPtr ( )
inline

Definition at line 49 of file DataObjectSharedPtr.h.

49 {}

◆ DataObjectSharedPtr() [2/5]

template<class T >
SG::DataObjectSharedPtr< T >::DataObjectSharedPtr ( T *  p,
bool  add_ref = true 
)
inlineexplicit

Definition at line 50 of file DataObjectSharedPtr.h.

51  : Base (p, add_ref) {}

◆ DataObjectSharedPtr() [3/5]

template<class T >
SG::DataObjectSharedPtr< T >::DataObjectSharedPtr ( std::unique_ptr< T >  p,
bool  add_ref = true 
)
inlineexplicit

Definition at line 52 of file DataObjectSharedPtr.h.

53  : Base (p.release(), add_ref) {}

◆ DataObjectSharedPtr() [4/5]

template<class T >
SG::DataObjectSharedPtr< T >::DataObjectSharedPtr ( const DataObjectSharedPtr< T > &  rhs)
inline

Definition at line 54 of file DataObjectSharedPtr.h.

55  : Base (rhs) {}

◆ DataObjectSharedPtr() [5/5]

template<class T >
template<class U >
SG::DataObjectSharedPtr< T >::DataObjectSharedPtr ( const DataObjectSharedPtr< U > &  rhs)
inline

Definition at line 57 of file DataObjectSharedPtr.h.

58  : Base (rhs) {}

Member Function Documentation

◆ operator=()

template<class T >
DataObjectSharedPtr& SG::DataObjectSharedPtr< T >::operator= ( const DataObjectSharedPtr< T > &  rhs)
default

The documentation for this class was generated from the following file:
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::DataObjectSharedPtr::Base
boost::intrusive_ptr< T > Base
Definition: DataObjectSharedPtr.h:48