ATLAS Offline Software
Loading...
Searching...
No Matches
ITPCnvBase.h
Go to the documentation of this file.
1
2
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
19class 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
virtual ~ITPCnvBase()=default
Destructor:
virtual const std::type_info & transientTInfo() const =0
return C++ type id of the transient class this converter is for
virtual void transToPersWithKeyUntyped(const void *trans, void *pers, const std::string &, MsgStream &msg)
Convert transient object representation to persistent.
Definition ITPCnvBase.h:80
Gaudi::PluginService::Factory< ITPCnvBase *()> Factory
Definition ITPCnvBase.h:26
virtual void persToTransUntyped(const void *pers, void *trans, MsgStream &msg)=0
Convert persistent object representation to transient.
virtual void persToTransWithKeyUntyped(const void *pers, void *trans, const std::string &, MsgStream &msg)
Convert persistent object representation to transient.
Definition ITPCnvBase.h:53
virtual void transToPersUntyped(const void *trans, void *pers, MsgStream &msg)=0
Convert transient object representation to persistent.
virtual const std::type_info & persistentTInfo() const =0
return C++ type id of the persistent class this converter is for
MsgStream & msg
Definition testRead.cxx:32