The Gaudi Framework  master (cc9a61f4)
Loading...
Searching...
No Matches
DataObjectWriteHandle< T, U > Class Template Reference

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/DataObjectHandle.h>

Inheritance diagram for DataObjectWriteHandle< T, U >:
Collaboration diagram for DataObjectWriteHandle< T, U >:

Public Member Functions

 DataObjectWriteHandle (const DataObjID &k, IDataHandleHolder *owner)
template<std::derived_from< IProperty > OWNER, typename K>
 DataObjectWriteHandle (OWNER *owner, std::string propertyName, K key={}, std::string doc="")
 Autodeclaring constructor with property name, mode, key and documentation.
template<typename... Args>
 DataObjectWriteHandle (std::tuple< Args... > &&args)
Public Member Functions inherited from DataObjectHandle< Payload_t< Gaudi::DataHandle::Writer, T, U > >
T * get () const
 Retrieve object from transient data store.
T * getIfExists () const
 Bypass check of existence of object in transient store Only uses main location of the.
bool exist () const
 Check the existence of the object in the transient store.
T * getOrCreate () const
 Get object from store or create a new one if it doesn't exist.
T * put (std::unique_ptr< T > object) const
 Register object in transient store.
std::string pythonRepr () const override
 DataObjectHandleBase (DataObjID k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
 DataObjectHandleBase (std::string k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
 DataObjectHandleBase (const DataObjectHandleBase &)=delete
 DataObjectHandleBase (DataObjectHandleBase &&)
Public Member Functions inherited from DataObjectHandleBase
 DataObjectHandleBase (DataObjID k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
 DataObjectHandleBase (std::string k, Gaudi::DataHandle::Mode a, IDataHandleHolder *owner)
 ~DataObjectHandleBase () override
 DataObjectHandleBase (const DataObjectHandleBase &)=delete
 DataObjectHandleBase (DataObjectHandleBase &&)
DataObjectHandleBaseoperator= (const DataObjectHandleBase &)
bool isValid () const
Public Member Functions inherited from Gaudi::DataHandle
 DataHandle (DataObjID k, Mode a=Reader, IDataHandleHolder *owner=nullptr)
 DataHandle (DataObjID k, bool isCond, Mode a=Reader, IDataHandleHolder *owner=nullptr)
virtual ~DataHandle ()=default
virtual void setOwner (IDataHandleHolder *o)
virtual IDataHandleHolderowner () const
virtual Mode mode () const
virtual void setKey (DataObjID key)
virtual void updateKey (std::string key)
virtual const std::string & objKey () const
virtual const DataObjIDfullKey () const
virtual void reset (bool)
virtual bool isCondition () const

Private Member Functions

template<typename... Args, std::size_t... Is>
 DataObjectWriteHandle (std::tuple< Args... > &&args, std::index_sequence< Is... >)

Additional Inherited Members

Public Types inherited from Gaudi::DataHandle
enum  Mode { Reader = 1 << 2 , Writer = 1 << 4 }
using PropertyType = DataHandleProperty
Protected Member Functions inherited from DataObjectHandleBase
bool init () override
DataObjectfetch () const
Protected Attributes inherited from DataObjectHandleBase
SmartIF< IDataProviderSvcm_EDS
SmartIF< IMessageSvcm_MS
bool m_init = false
Protected Attributes inherited from Gaudi::DataHandle
DataObjID m_key = { "NONE" }
 The key of the object behind this DataHandle Although it may look strange to have it mutable, this can actually change in case the object had alternative names, and it should not be visible to the end user, for which the Handle is still the same.
IDataHandleHolderm_owner = nullptr
Static Protected Attributes inherited from Gaudi::DataHandle
static const std::string default_type = "unknown_t"

Detailed Description

template<typename T, typename U = T>
class DataObjectWriteHandle< T, U >

Definition at line 466 of file DataObjectHandle.h.

Constructor & Destructor Documentation

◆ DataObjectWriteHandle() [1/4]

template<typename T, typename U = T>
template<typename... Args, std::size_t... Is>
DataObjectWriteHandle< T, U >::DataObjectWriteHandle ( std::tuple< Args... > && args,
std::index_sequence< Is... >  )
inlineprivate

Definition at line 468 of file DataObjectHandle.h.

DataObjectWriteHandle(std::tuple< Args... > &&args, std::index_sequence< Is... >)

◆ DataObjectWriteHandle() [2/4]

template<typename T, typename U = T>
DataObjectWriteHandle< T, U >::DataObjectWriteHandle ( const DataObjID & k,
IDataHandleHolder * owner )
inline

Definition at line 472 of file DataObjectHandle.h.

virtual IDataHandleHolder * owner() const
Definition DataHandle.h:52

◆ DataObjectWriteHandle() [3/4]

template<typename T, typename U = T>
template<std::derived_from< IProperty > OWNER, typename K>
DataObjectWriteHandle< T, U >::DataObjectWriteHandle ( OWNER * owner,
std::string propertyName,
K key = {},
std::string doc = "" )
inline

Autodeclaring constructor with property name, mode, key and documentation.

Note
the use of requires is required to avoid ambiguities

Definition at line 478 of file DataObjectHandle.h.

478 {}, std::string doc = "" )
480 auto p = owner->declareProperty( std::move( propertyName ), *this, std::move( doc ) );
481 p->template setOwnerType<OWNER>();
482 }
DataHandle(DataObjID k, Mode a=Reader, IDataHandleHolder *owner=nullptr)
Definition DataHandle.h:41

◆ DataObjectWriteHandle() [4/4]

template<typename T, typename U = T>
template<typename... Args>
DataObjectWriteHandle< T, U >::DataObjectWriteHandle ( std::tuple< Args... > && args)
inline

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