Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (f31105fd)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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. 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...
 
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<std::derived_from< IProperty > OWNER, class K >
 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 470 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 472 of file DataObjectHandle.h.

473  : 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 476 of file DataObjectHandle.h.

◆ 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,
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 482 of file DataObjectHandle.h.

482  {}, std::string doc = "" )
484  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 487 of file DataObjectHandle.h.

488  : 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:472
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