The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
DataObjectHandle< Gaudi::NamedRange_< T > > Class Template Reference

specialization for NamedRange_ More...

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

Inheritance diagram for DataObjectHandle< Gaudi::NamedRange_< T > >:
Collaboration diagram for DataObjectHandle< Gaudi::NamedRange_< T > >:

Public Types

using ValueType = std::remove_cv_t<std::remove_pointer_t<typename T::value_type>>
using Range = Gaudi::NamedRange_<typename ValueType::ConstVector>
Public Types inherited from Gaudi::DataHandle
enum  Mode { Reader = 1 << 2 , Writer = 1 << 4 }
using PropertyType = DataHandleProperty

Public Member Functions

Range get () const
 Retrieve object from transient data 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 &&)
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.
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 &&)
DataObjectHandleBase & operator= (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 IDataHandleHolder * owner () const
virtual Mode mode () const
virtual void setKey (DataObjID key)
virtual void updateKey (std::string key)
virtual const std::string & objKey () const
virtual const DataObjID & fullKey () const
virtual void reset (bool)
virtual bool isCondition () const

Private Attributes

mutable ::details::Converter_t< Range > m_converter = nullptr

Additional Inherited Members

Protected Member Functions inherited from DataObjectHandleBase
bool init () override
DataObject * fetch () const
Protected Attributes inherited from DataObjectHandleBase
SmartIF< IDataProviderSvc > m_EDS
SmartIF< IMessageSvc > m_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.
IDataHandleHolder * m_owner = nullptr
Static Protected Attributes inherited from Gaudi::DataHandle
static const std::string default_type = "unknown_t"

Detailed Description

template<typename T>
class DataObjectHandle< Gaudi::NamedRange_< T > >

specialization for NamedRange_

Definition at line 237 of file DataObjectHandle.h.

Member Typedef Documentation

◆ Range

template<typename T>
using DataObjectHandle< Gaudi::NamedRange_< T > >::Range = Gaudi::NamedRange_<typename ValueType::ConstVector>

Definition at line 240 of file DataObjectHandle.h.

◆ ValueType

template<typename T>
using DataObjectHandle< Gaudi::NamedRange_< T > >::ValueType = std::remove_cv_t<std::remove_pointer_t<typename T::value_type>>

Definition at line 239 of file DataObjectHandle.h.

Member Function Documentation

◆ DataObjectHandleBase() [1/4]

( const DataObjectHandleBase & )

◆ DataObjectHandleBase() [2/4]

( DataObjectHandleBase && other)

◆ DataObjectHandleBase() [3/4]

◆ DataObjectHandleBase() [4/4]

( std::string k,
Gaudi::DataHandle::Mode a,
IDataHandleHolder * owner )

◆ exist()

bool DataObjectHandle< T >::exist ( ) const
inline

Check the existence of the object in the transient store.

Definition at line 128 of file DataObjectHandle.h.

128{ return get( false ) != nullptr; }
DataObjectHandle.h GaudiKernel/DataObjectHandle.h.

◆ get()

template<typename T>
Range DataObjectHandle< Gaudi::NamedRange_< T > >::get ( ) const

Retrieve object from transient data store.

◆ getIfExists()

T * DataObjectHandle< T >::getIfExists ( ) const
inline

Bypass check of existence of object in transient store Only uses main location of the.

Definition at line 123 of file DataObjectHandle.h.

123{ return get( false ); }

◆ getOrCreate()

T * DataObjectHandle< T >::getOrCreate ( ) const

Get object from store or create a new one if it doesn't exist.

Definition at line 133 of file DataObjectHandle.h.

184 {
185 T* obj = get( false );
186 return obj ? obj : put( std::make_unique<T>() );
187}
T * put(std::unique_ptr< T > object) const

◆ put()

T * DataObjectHandle< T >::put ( std::unique_ptr< T > object) const

Register object in transient store.

Definition at line 138 of file DataObjectHandle.h.

175 {
176 assert( m_init );
177 StatusCode sc = m_EDS->registerObject( objKey(), objectp.get() );
178 if ( !sc.isSuccess() ) { throw GaudiException( "Error in put of " + objKey(), "DataObjectHandle<T>::put", sc ); }
179 return objectp.release();
180}
SmartIF< IDataProviderSvc > m_EDS
T * get() const
Retrieve object from transient data store.
virtual const std::string & objKey() const
Definition DataHandle.h:65

◆ pythonRepr()

template<typename T>
std::string DataObjectHandle< Gaudi::NamedRange_< T > >::pythonRepr ( ) const
inlineoverridevirtual

Reimplemented from Gaudi::DataHandle.

Definition at line 249 of file DataObjectHandle.h.

Member Data Documentation

◆ m_converter

template<typename T>
mutable ::details::Converter_t<Range> DataObjectHandle< Gaudi::NamedRange_< T > >::m_converter = nullptr
private

Definition at line 255 of file DataObjectHandle.h.


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