The Gaudi Framework  master (37c0b60a)
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 474 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 476 of file DataObjectHandle.h.

477  : 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 480 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 486 of file DataObjectHandle.h.

486  {}, std::string doc = "" )
488  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 491 of file DataObjectHandle.h.

492  : 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:476
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:336
ProduceConsume.key
key
Definition: ProduceConsume.py:84