ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
Athena::RecyclableDataQueue< DOBJ > Class Template Reference

Holder for recyclable objects. More...

#include <RecyclableDataObject.h>

Collaboration diagram for Athena::RecyclableDataQueue< DOBJ >:

Public Types

typedef RecyclableDataObject< DOBJ >::queue_t queue_t
 Underlying queue type holding these objects. More...
 

Public Member Functions

 RecyclableDataQueue ()
 Constructor. More...
 
template<typename... ARGS>
DOBJ * get (ARGS &&... args)
 Get an object, either a new one or one recycled from a previous event. More...
 
 ~RecyclableDataQueue ()
 Destructor. More...
 

Private Attributes

std::shared_ptr< queue_tm_queue
 Shared reference to the actual queue. More...
 

Detailed Description

template<class DOBJ>
class Athena::RecyclableDataQueue< DOBJ >

Holder for recyclable objects.

See RecyclableDataObject.

Definition at line 125 of file RecyclableDataObject.h.

Member Typedef Documentation

◆ queue_t

template<class DOBJ >
typedef RecyclableDataObject<DOBJ>::queue_t Athena::RecyclableDataQueue< DOBJ >::queue_t

Underlying queue type holding these objects.

Definition at line 129 of file RecyclableDataObject.h.

Constructor & Destructor Documentation

◆ RecyclableDataQueue()

template<class DOBJ >
Athena::RecyclableDataQueue< DOBJ >::RecyclableDataQueue ( )

Constructor.

◆ ~RecyclableDataQueue()

template<class DOBJ >
Athena::RecyclableDataQueue< DOBJ >::~RecyclableDataQueue ( )

Destructor.

Free all objects in the queue.

Member Function Documentation

◆ get()

template<class DOBJ >
template<typename... ARGS>
DOBJ* Athena::RecyclableDataQueue< DOBJ >::get ( ARGS &&...  args)

Get an object, either a new one or one recycled from a previous event.

Parameters
args...Arguments to pass to the DOBJ constructor if we make a new one.

Member Data Documentation

◆ m_queue

template<class DOBJ >
std::shared_ptr<queue_t> Athena::RecyclableDataQueue< DOBJ >::m_queue
private

Shared reference to the actual queue.

Each data object also has a reference to the queue.

Definition at line 157 of file RecyclableDataObject.h.


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