Project
Loading...
Searching...
No Matches
o2::framework::LifetimeHolder< T > Struct Template Reference

#include <DataAllocator.h>

Public Types

using type = T
 

Public Member Functions

 LifetimeHolder (T *ptr_)
 
 LifetimeHolder ()=delete
 
 LifetimeHolder (const LifetimeHolder &)=delete
 
LifetimeHolderoperator= (const LifetimeHolder &)=delete
 
 LifetimeHolder (LifetimeHolder &&other)
 
LifetimeHolderoperator= (LifetimeHolder &&other)
 
 ~LifetimeHolder ()
 
T * operator-> ()
 
T & operator* ()
 
void release ()
 

Public Attributes

T * ptr = nullptr
 
std::function< void(T &)> callback = nullptr
 

Detailed Description

template<typename T>
struct o2::framework::LifetimeHolder< T >

Helper to allow framework managed objecs to have a callback when they go out of scope. For example, this could be used to serialize a message into a buffer before the end of the timeframe, hence eliminating the need for the intermediate buffers.

Definition at line 67 of file DataAllocator.h.

Member Typedef Documentation

◆ type

template<typename T >
using o2::framework::LifetimeHolder< T >::type = T

Definition at line 68 of file DataAllocator.h.

Constructor & Destructor Documentation

◆ LifetimeHolder() [1/4]

template<typename T >
o2::framework::LifetimeHolder< T >::LifetimeHolder ( T *  ptr_)
inline

Definition at line 71 of file DataAllocator.h.

◆ LifetimeHolder() [2/4]

template<typename T >
o2::framework::LifetimeHolder< T >::LifetimeHolder ( )
delete

◆ LifetimeHolder() [3/4]

template<typename T >
o2::framework::LifetimeHolder< T >::LifetimeHolder ( const LifetimeHolder< T > &  )
delete

◆ LifetimeHolder() [4/4]

template<typename T >
o2::framework::LifetimeHolder< T >::LifetimeHolder ( LifetimeHolder< T > &&  other)
inline

Definition at line 80 of file DataAllocator.h.

◆ ~LifetimeHolder()

template<typename T >
o2::framework::LifetimeHolder< T >::~LifetimeHolder ( )
inline

Definition at line 106 of file DataAllocator.h.

Member Function Documentation

◆ operator*()

template<typename T >
T & o2::framework::LifetimeHolder< T >::operator* ( )
inline

Definition at line 112 of file DataAllocator.h.

◆ operator->()

template<typename T >
T * o2::framework::LifetimeHolder< T >::operator-> ( )
inline

Definition at line 111 of file DataAllocator.h.

◆ operator=() [1/2]

template<typename T >
LifetimeHolder & o2::framework::LifetimeHolder< T >::operator= ( const LifetimeHolder< T > &  )
delete

◆ operator=() [2/2]

template<typename T >
LifetimeHolder & o2::framework::LifetimeHolder< T >::operator= ( LifetimeHolder< T > &&  other)
inline

Definition at line 91 of file DataAllocator.h.

◆ release()

template<typename T >
void o2::framework::LifetimeHolder< T >::release ( )
inline

Definition at line 116 of file DataAllocator.h.

Member Data Documentation

◆ callback

template<typename T >
std::function<void(T&)> o2::framework::LifetimeHolder< T >::callback = nullptr

Definition at line 70 of file DataAllocator.h.

◆ ptr

template<typename T >
T* o2::framework::LifetimeHolder< T >::ptr = nullptr

Definition at line 69 of file DataAllocator.h.


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