12#ifndef STOREGATE_SG_WRITEHANDLE_H
13#define STOREGATE_SG_WRITEHANDLE_H 1
19#include "GaudiKernel/EventContext.h"
109 const EventContext& ctx);
119 const std::string& storename,
120 const EventContext& ctx);
150 const EventContext& ctx) =
delete;
254 template <class AUXSTORE>
264 template <class AUXSTORE>
275 template <
std::derived_from<DataObject> DOBJ>
276 requires
std::convertible_to<DOBJ*, T*>
286 template <
std::derived_from<DataObject> DOBJ>
287 requires
std::convertible_to<DOBJ*, T*>
306 bool returnExisting = false)
const;
324 bool returnExisting = false)
const;
342 bool returnExisting = false)
const;
362 bool returnExisting = false)
const;
382 bool returnExisting = false)
const;
402 bool returnExisting = false)
const;
417 template <
std::derived_from<DataObject> DOBJ>
418 requires
std::convertible_to<DOBJ*, T*>
435 template <
std::derived_from<DataObject> DOBJ>
436 requires
std::convertible_to<DOBJ*, T*>
454 template <class AUXSTORE>
476 template <class AUXSTORE>
496 template <class AUXSTORE>
520 template <class AUXSTORE>
597 bool returnExisting);
637 template <class AUXSTORE>
658 template <class AUXSTORE>
671 template <class AUXSTORE>
721 const EventContext& ctx);
727#include "StoreGate/WriteHandle.icc"
char data[hepevt_bytes_allocation_ATLAS]
Base class for VarHandle classes.
Property holding a SG store/key/clid from which a WriteHandle is made.
DataVector adapter that acts like it holds const pointers.
Base class for VarHandle types.
virtual const std::string & key() const override final
std::string store() const
Property holding a SG store/key/clid from which a WriteHandle is made.
pointer_type checkedCachedPtr()
WriteHandle(const WriteHandle &rhs)
Copy constructor.
SG::DataProxy * m_lockAuxPending
xAOD::CaloClusterContainer & reference_type
WriteHandle(const WriteHandleKey< T > &key)
Constructor from a WriteHandleKey.
const_pointer_type doPut(const EventContext *ctx, U data, bool returnExisting, IProxyDict *&store) const
const_pointer_type cptr() const
Dereference the pointer.
WriteHandle(SG::WriteHandleKey< T > &&key)=delete
WriteHandle(const std::string &sgkey, const EventContext &ctx)
Constructor specifying the key as a string, with context.
StatusCode symLink(const WriteHandleKey< U > &key)
xAOD::CaloClusterContainer * pointer_type
WriteHandle()
Default constructor.
WriteHandle & operator=(const WriteHandle &rhs)
Assignment operator.
WriteHandle(const std::string &sgkey, const std::string &storename=StoreID::storeName(StoreID::EVENT_STORE))
Constructor specifying the key as a string.
~WriteHandle()
Destructor.
const xAOD::CaloClusterContainer * const_pointer_type
WriteHandle(SG::WriteHandleKey< T > &&key, const EventContext &ctx)=delete
pointer_type cachedPtr()
Return the cached pointer directly; no lookup.
const xAOD::CaloClusterContainer & const_reference_type
WriteHandle & operator=(WriteHandle &&rhs)
Move operator.
WriteHandle(const std::string &sgkey, const std::string &storename, const EventContext &ctx)
Constructor specifying the key as a string, with context.
StatusCode record(std::unique_ptr< xAOD::CaloClusterContainer > data)
const_pointer_type put(std::unique_ptr< xAOD::CaloClusterContainer > data, bool returnExisting=false) const
StatusCode recordNonConst(std::unique_ptr< xAOD::CaloClusterContainer > data)
pointer_type operator->()
Dereference the pointer.
WriteHandle(WriteHandle &&rhs)
Move constructor.
WriteHandle(const WriteHandleKey< T > &key, const EventContext &ctx)
Constructor from a WriteHandleKey and an explicit event context.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
StatusCode doRecord(U data, bool isConst, bool returnExisting)
reference_type operator*()
Dereference the pointer.
StatusCode alias(const WriteHandleKey< xAOD::CaloClusterContainer > &key)
pointer_type ptr()
Dereference the pointer.
static const std::string & storeName(const StoreID::type &s)
CxxUtils::RefCountedPtr< T > DataObjectSharedPtr
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())