ATLAS Offline Software
Loading...
Searching...
No Matches
ElementLink_p3.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef DATAMODELATHENAPOOL_ELEMENTLINK_P3_H
6#define DATAMODELATHENAPOOL_ELEMENTLINK_P3_H
7
12
13#include <string>
14#include <inttypes.h>
15
16#include "SGCore/sgkey_t.h"
17
21
22template <class INDEXTYPE>
24public:
25
26 ElementLink_p3() = default;
27
28 INDEXTYPE m_elementIndex{};
30};
31
32
33// If you define more ElementLink_pN types, remember to add template instantiations to the Dict file
34
37
38
39// Helper template for conversion from the index type in transient ElementLink
40// to the persistent index type
41
42template <typename ContIndxType>
44// typedef MISSING_DEFINITION_OF_GenerateELinkIndexType_FOR_<ContIndxType> type;
45};
46
47template<>
48struct GenerateELinkIndexType_p3<uint32_t> {
49 typedef uint32_t type;
50};
51
52template<>
53struct GenerateELinkIndexType_p3<uint64_t> {
54 typedef uint32_t type;
55};
56
57template<>
59 typedef uint32_t type;
60};
61
62#ifdef __APPLE__
63template<>
64struct GenerateELinkIndexType_p3<size_t> {
65 typedef uint32_t type;
66};
67#endif
68
69template<>
71 typedef std::string type;
72};
73
74
75// Helper template to generate type of the persistent ElementLink_pN
76// from the type of the transient ElementLink
77// Used in the ElementlinkCnv_pN
78
79template <class LINK>
83
84#endif // DATAMODELATHENAPOOL_ELEMENTLINK_P3_H
STL class.
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
Definition sgkey_t.h:32
STL namespace.
ElementLink_p3< typename GenerateELinkIndexType_p3< typename LINK::index_type >::type > type