11#ifndef ATHENASERVICES_ATHTPCNVSVC_H
12#define ATHENASERVICES_ATHTPCNVSVC_H 1
20#include "GaudiKernel/ServiceHandle.h"
21#include "GaudiKernel/IClassIDSvc.h"
31 :
public extends<AthService, ITPCnvSvc>
38 AthTPCnvSvc(
const std::string& name, ISvcLocator* pSvcLocator );
62 t2p_cnv(
const std::string& transClassName,
78 p2t_cnv(
const std::string& persClassName,
85 std::unique_ptr<ITPCnvBase>
93 std::unique_ptr<ITPCnvBase>
108 typedef std::vector<std::unique_ptr<ITPCnvBase> >
TpCnvs_t;
uint32_t CLID
The Class ID type.
AthTPCnvSvc()
Default constructor:
virtual ~AthTPCnvSvc() override
Destructor:
virtual ITPCnvBase * load_tpcnv(const std::string &cls) override
load the T/P converter class named cls return NULL on failure.
ServiceHandle< IClassIDSvc > m_clidSvc
handle to a IClassIDSvc to handle loading of types by CLID
virtual ITPCnvBase * p2t_cnv(const std::string &persClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena) override
return the T/P converter for a persistent class (NULL if failure) ITPCnvSvc owns the ITPCnvBase point...
virtual ITPCnvBase * t2p_cnv(const std::string &transClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena) override
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...
TpCnvs_t m_cnvs
a registry of ITPCnvBase* instances
virtual std::unique_ptr< ITPCnvBase > t2p_cnv_unique(const std::string &transClassName) const override
return the T/P converter for a transient class (NULL if failure) Ownership is returned to the caller.
AthTPCnvSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
std::vector< std::unique_ptr< ITPCnvBase > > TpCnvs_t