12#ifndef STOREGATE_SG_WRITEHANDLE_H
13#define STOREGATE_SG_WRITEHANDLE_H 1
19#include "GaudiKernel/EventContext.h"
107 const EventContext& ctx);
117 const std::string& storename,
118 const EventContext& ctx);
148 const EventContext& ctx) =
delete;
252 template <class AUXSTORE>
262 template <class AUXSTORE>
273 template <
std::derived_from<DataObject> DOBJ>
274 requires
std::convertible_to<DOBJ*, T*>
284 template <
std::derived_from<DataObject> DOBJ>
285 requires
std::convertible_to<DOBJ*, T*>
304 bool returnExisting = false)
const;
322 bool returnExisting = false)
const;
340 bool returnExisting = false)
const;
360 bool returnExisting = false)
const;
380 bool returnExisting = false)
const;
400 bool returnExisting = false)
const;
415 template <
std::derived_from<DataObject> DOBJ>
416 requires
std::convertible_to<DOBJ*, T*>
433 template <
std::derived_from<DataObject> DOBJ>
434 requires
std::convertible_to<DOBJ*, T*>
452 template <class AUXSTORE>
474 template <class AUXSTORE>
494 template <class AUXSTORE>
518 template <class AUXSTORE>
595 bool returnExisting);
635 template <class AUXSTORE>
656 template <class AUXSTORE>
669 template <class AUXSTORE>
719 const EventContext& ctx);
725#include "StoreGate/WriteHandle.icc"
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.
WriteHandle & operator=(WriteHandle &&rhs) noexcept
Move operator.
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)
WriteHandle(WriteHandle &&rhs) noexcept
Move constructor.
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(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(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())