Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef ATHENAKERNEL_IRCUSVC_H
17 #define ATHENAKERNEL_IRCUSVC_H
21 #include "GaudiKernel/IInterface.h"
39 :
virtual public IInterface
51 template <
class T,
typename...
Args>
54 return std::make_unique<RCUObject<T> > (*
this, std::forward<Args>(
args)...);
82 #endif // not ATHENAKERNEL_IRCUSVC_H
read-copy-update (RCU) style synchronization for Athena.
virtual void add(IRCUObject *obj)=0
Add a new RCU object to the set being managed.
DeclareInterfaceID(IRCUSvc, 1, 0)
virtual size_t getNumSlots() const =0
Return the number of event slots.
Some weak symbol referencing magic...
::StatusCode StatusCode
StatusCode definition for legacy code.
Interface for RCU service.
virtual StatusCode remove(IRCUObject *obj)=0
Remove an object from the service.
std::unique_ptr< RCUObject< T > > newrcu(Args &&... args)
Make a new RCU object.
Base object class for RCU-style synchronization for Athena.