ATLAS Offline Software
Loading...
Searching...
No Matches
ElementLink_p2.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef DATAMODELATHENAPOOL_ELEMENTLINK_P2_H
6#define DATAMODELATHENAPOOL_ELEMENTLINK_P2_H
7
12
13#include <string>
14#include <inttypes.h>
15
25
26template <class INDEXTYPE>
28public:
29
34
35 uint32_t m_contIndex;
36 INDEXTYPE m_elementIndex;
37};
38
39// If you define more ElementLink_pN types, remember to add template instantiations to the Dict file
40
43
44
45
46// Helper template for conversion from the index type in transient ElementLink
47// to the persistent index type
48
49template <typename ContIndxType>
51// typedef MISSING_DEFINITION_OF_GenerateELinkIndexType_FOR_<ContIndxType> type;
52};
53
54template<>
55struct GenerateELinkIndexType_p2<uint32_t> {
56 typedef uint32_t type;
57};
58
59template<>
60struct GenerateELinkIndexType_p2<uint64_t> {
61 typedef uint32_t type;
62};
63
64template<>
66 typedef uint32_t type;
67};
68
69#ifdef __APPLE__
70template<>
71struct GenerateELinkIndexType_p2<size_t> {
72 typedef uint32_t type;
73};
74#endif
75
76template<>
78 typedef std::string type;
79};
80
81
82// Helper template to generate type of the persistent ElementLink_pN
83// from the type of the transient ElementLink
84// Used in the ElementlinkCnv_pN
85
86template <class LINK>
90
91#endif // DATAMODELATHENAPOOL_ELEMENTLINK_P2_H
92
93
STL class.
STL namespace.
ElementLink_p2< typename GenerateELinkIndexType_p2< typename LINK::index_type >::type > type