The Gaudi Framework  v36r16 (ea80daf8)
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<typename OWNER , typename K , typename = std::enable_if_t<std::is_base_of_v<IProperty, OWNER>>>
 DataObjectWriteHandle (OWNER *owner, std::string propertyName, K key={}, std::string doc="")
 Autodeclaring constructor with property name, mode, key and documentation. More...
 
template<typename... Args>
 DataObjectWriteHandle (std::tuple< Args... > &&args)
 
- Public Member Functions inherited from DataObjectHandle< T >
T * get () const
 Retrieve object from transient data store. More...
 
T * getIfExists () const
 Bypass check of existence of object in transient store Only uses main location of the. More...
 
bool exist () const
 Check the existence of the object in the transient store. More...
 
T * getOrCreate () const
 Get object from store or create a new one if it doesn't exist. More...
 
T * put (std::unique_ptr< T > object) const
 Register object in transient store. More...
 
T * put (T *object) const
 
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 &&)
 
template<class OWNER , class K , typename = std::enable_if_t<std::is_base_of_v<IProperty, OWNER>>>
 DataObjectHandleBase (OWNER *owner, Gaudi::DataHandle::Mode m, std::string name, K key={}, std::string doc="")
 Autodeclaring constructor with property name, mode, key and documentation. More...
 

Private Member Functions

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

Detailed Description

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

Definition at line 427 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 429 of file DataObjectHandle.h.

430  : DataObjectWriteHandle( std::get<Is>( std::move( args ) )... ) {}

◆ DataObjectWriteHandle() [2/4]

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

Definition at line 433 of file DataObjectHandle.h.

◆ DataObjectWriteHandle() [3/4]

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

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

Note
the use std::enable_if is required to avoid ambiguities

Definition at line 439 of file DataObjectHandle.h.

439  {}, std::string doc = "" )
441  std::move( doc ) ) {}

◆ DataObjectWriteHandle() [4/4]

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

Definition at line 444 of file DataObjectHandle.h.

445  : DataObjectWriteHandle( std::move( args ), std::index_sequence_for<Args...>{} ) {}

The documentation for this class was generated from the following file:
std::string
STL class.
DataObjectWriteHandle::DataObjectWriteHandle
DataObjectWriteHandle(std::tuple< Args... > &&args, std::index_sequence< Is... >)
Definition: DataObjectHandle.h:429
std::move
T move(T... args)
DataObjectHandle
DataObjectHandle.h GaudiKernel/DataObjectHandle.h.
Definition: AlgTool.h:36
Gaudi::DataHandle::Writer
@ Writer
Definition: DataHandle.h:40
gaudirun.args
args
Definition: gaudirun.py:338
ProduceConsume.key
key
Definition: ProduceConsume.py:81