ATLAS Offline Software
Loading...
Searching...
No Matches
Athena::RCUReadQuiesce< T > Class Template Reference

Helper to read data from a RCUObject. More...

#include <RCUObject.h>

Inheritance diagram for Athena::RCUReadQuiesce< T >:
Collaboration diagram for Athena::RCUReadQuiesce< T >:

Public Member Functions

 RCUReadQuiesce (RCUObject< T > &rcuobj)
 Constructor.
 RCUReadQuiesce (RCUObject< T > &rcuobj, const EventContext &ctx)
 Constructor.
 RCUReadQuiesce (RCUObject< T > &rcuobj, const EventContext &&ctx)=delete
 ~RCUReadQuiesce ()
 Destructor.
 operator bool () const
const T & operator* () const
 Access data.
const T * operator-> () const
 Access data.

Private Attributes

RCUObject< T > & m_rcuobj
 The RCUObject we're referencing.
const EventContext & m_ctx
 The current event context.
const T * m_obj
 The data object we're reading.

Detailed Description

template<class T>
class Athena::RCUReadQuiesce< T >

Helper to read data from a RCUObject.

When this object is deleted, the RCUObject is declared quiescent for this event slot.

See the header comments for details.

Definition at line 510 of file RCUObject.h.

Constructor & Destructor Documentation

◆ RCUReadQuiesce() [1/3]

template<class T>
Athena::RCUReadQuiesce< T >::RCUReadQuiesce ( RCUObject< T > & rcuobj)

Constructor.

Parameters
rcuobjThe RCUObject we're reading.

This version will read the global event context.

◆ RCUReadQuiesce() [2/3]

template<class T>
Athena::RCUReadQuiesce< T >::RCUReadQuiesce ( RCUObject< T > & rcuobj,
const EventContext & ctx )

Constructor.

Parameters
rcuobjThe RCUObject we're reading.
ctxThe event context (must not be a temporary).

◆ RCUReadQuiesce() [3/3]

template<class T>
Athena::RCUReadQuiesce< T >::RCUReadQuiesce ( RCUObject< T > & rcuobj,
const EventContext && ctx )
delete

◆ ~RCUReadQuiesce()

template<class T>
Athena::RCUReadQuiesce< T >::~RCUReadQuiesce ( )

Destructor.

Mark this event slot quiescent.

Member Function Documentation

◆ operator bool()

template<class T>
Athena::RCURead< T >::operator bool ( ) const
inlineinherited

Definition at line 481 of file RCUObject.h.

481{ return m_obj != nullptr; }
const T * m_obj
The data object we're reading.
Definition RCUObject.h:498

◆ operator*()

template<class T>
const T & Athena::RCURead< T >::operator* ( ) const
inherited

Access data.

◆ operator->()

template<class T>
const T * Athena::RCURead< T >::operator-> ( ) const
inherited

Access data.

Member Data Documentation

◆ m_ctx

template<class T>
const EventContext& Athena::RCUReadQuiesce< T >::m_ctx
private

The current event context.

Definition at line 545 of file RCUObject.h.

◆ m_obj

template<class T>
const T* Athena::RCURead< T >::m_obj
privateinherited

The data object we're reading.

Definition at line 498 of file RCUObject.h.

◆ m_rcuobj

template<class T>
RCUObject<T>& Athena::RCUReadQuiesce< T >::m_rcuobj
private

The RCUObject we're referencing.

Definition at line 542 of file RCUObject.h.


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