ATLAS Offline Software
ITPCnvBase.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // ITPCnvBase.h
8 // Header file for class ITPCnvBase
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef ATHENAKERNEL_ITPCNVBASE_H
12 #define ATHENAKERNEL_ITPCNVBASE_H 1
13 
14 #include "Gaudi/PluginService.h"
15 #include "GAUDI_VERSION.h"
16 #include <typeinfo>
17 
18 // Forward declaration
19 class MsgStream;
20 
24 {
25  public:
26  typedef Gaudi::PluginService::Factory<ITPCnvBase*()> Factory;
27 
29  virtual ~ITPCnvBase() = default;
30 
31 
32  // Methods for invoking conversions on objects given by generic
33  // pointers.
34 
40  virtual
41  void
42  persToTransUntyped(const void* pers, void* trans, MsgStream& msg) = 0;
43 
44 
51  virtual
52  void
53  persToTransWithKeyUntyped(const void* pers,
54  void* trans,
55  const std::string& /*key*/,
56  MsgStream& msg)
57  {
58  return persToTransUntyped (pers, trans, msg);
59  }
60 
61 
67  virtual
68  void
69  transToPersUntyped(const void* trans, void* pers, MsgStream& msg) = 0;
70 
71 
78  virtual
79  void
80  transToPersWithKeyUntyped(const void* trans,
81  void* pers,
82  const std::string& /*key*/,
83  MsgStream& msg)
84  {
85  return transToPersUntyped (trans, pers, msg);
86  }
87 
88 
92  virtual
93  const std::type_info& transientTInfo() const = 0;
94 
98  virtual
99  const std::type_info& persistentTInfo() const = 0;
100 };
101 
102 
103 
104 
105 #endif //> !ATHENAKERNEL_ITPCNVBASE_H
ITPCnvBase::transToPersWithKeyUntyped
virtual void transToPersWithKeyUntyped(const void *trans, void *pers, const std::string &, MsgStream &msg)
Convert transient object representation to persistent.
Definition: ITPCnvBase.h:80
ITPCnvBase::Factory
Gaudi::PluginService::Factory< ITPCnvBase *()> Factory
Definition: ITPCnvBase.h:26
ITPCnvBase::transientTInfo
virtual const std::type_info & transientTInfo() const =0
return C++ type id of the transient class this converter is for
ITPCnvBase::transToPersUntyped
virtual void transToPersUntyped(const void *trans, void *pers, MsgStream &msg)=0
Convert transient object representation to persistent.
ITPCnvBase::persToTransUntyped
virtual void persToTransUntyped(const void *pers, void *trans, MsgStream &msg)=0
Convert persistent object representation to transient.
ITPCnvBase
Definition: ITPCnvBase.h:24
ITPCnvBase::persToTransWithKeyUntyped
virtual void persToTransWithKeyUntyped(const void *pers, void *trans, const std::string &, MsgStream &msg)
Convert persistent object representation to transient.
Definition: ITPCnvBase.h:53
ITPCnvBase::persistentTInfo
virtual const std::type_info & persistentTInfo() const =0
return C++ type id of the persistent class this converter is for
ITPCnvBase::~ITPCnvBase
virtual ~ITPCnvBase()=default
Destructor:
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7