ATLAS Offline Software
|
Helper to update data in a RCUObject
.
More...
#include <RCUObject.h>
Public Member Functions | |
RCUUpdate (RCUObject< T > &rcuobj) | |
Constructor. More... | |
RCUUpdate (RCUObject< T > &rcuobj, const EventContext &ctx) | |
Constructor. More... | |
RCUUpdate (RCUObject< T > &rcuobj, const EventContext &&ctx)=delete | |
const T & | operator* () const |
Access data. More... | |
const T * | operator-> () const |
Access data. More... | |
void | update (std::unique_ptr< T > ptr) |
Publish a new version of the data object. More... | |
Private Attributes | |
RCUObject< T > & | m_rcuobj |
The object we're referencing. More... | |
const EventContext & | m_ctx |
The event context. More... | |
std::unique_lock< std::mutex > | m_g |
Lock for synchonization. More... | |
Helper to update data in a RCUObject
.
See the header comments for details.
Definition at line 138 of file RCUObject.h.
Athena::RCUUpdate< T >::RCUUpdate | ( | RCUObject< T > & | rcuobj | ) |
Constructor.
rcuobj | The RCUObject we're reading. |
This version will read the global event context.
Athena::RCUUpdate< T >::RCUUpdate | ( | RCUObject< T > & | rcuobj, |
const EventContext & | ctx | ||
) |
Constructor.
rcuobj | The RCUObject we're reading. |
ctx | The event context (must not be a temporary). |
|
delete |
const T& Athena::RCUUpdate< T >::operator* | ( | ) | const |
Access data.
const T* Athena::RCUUpdate< T >::operator-> | ( | ) | const |
Access data.
void Athena::RCUUpdate< T >::update | ( | std::unique_ptr< T > | ptr | ) |
Publish a new version of the data object.
ptr | The new data object. |
|
private |
The event context.
Definition at line 610 of file RCUObject.h.
|
private |
Lock for synchonization.
Definition at line 613 of file RCUObject.h.
|
private |
The object we're referencing.
Definition at line 607 of file RCUObject.h.