ATLAS Offline Software
Loading...
Searching...
No Matches
ElementLinkVector_p1.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef DATAMODELATHENAPOOL_ELEMENTLINKVECT_P1_H
6#define DATAMODELATHENAPOOL_ELEMENTLINKVECT_P1_H
7
12
13#include "ElementLink_p1.h"
14#include "DataLink_p1.h"
15
21
22template <class INDEXTYPE>
24public:
25
26 typedef INDEXTYPE Index_t;
27
29
30 class ElementRef {
31 public:
33 ElementRef(const INDEXTYPE &elink_idx, uint32_t name_idx)
34 : m_elementIndex(elink_idx), m_nameIndex(name_idx)
35 { }
36
38 uint32_t m_nameIndex;
39 };
40
41 typedef std::vector<ElementRef> ElementRefVector;
42
45};
46
47
48
49// Helper template to generate type of the persistent ElementLinkVector_pN
50// from the type of the transient ElementLinkVector
51// Used in the ElementlinkVectorCnv_pN
52
53template <class LINK>
57
58
59
60// If you define more ElementLinkVector_pN types, remember to add template instantiations to the Dict file
61
64
65
66#endif
67
68
69
ElementLinkVector_p1< std::string > ElementLinkStrVector_p1
ElementLinkVector_p1< uint32_t > ElementLinkIntVector_p1
Persistent representation of DataLinkVector.
ElementRef(const INDEXTYPE &elink_idx, uint32_t name_idx)
std::vector< ElementRef > ElementRefVector
ElementLinkVector_p1< typename GenerateELinkIndexType_p1< typename LINK::index_type >::type > type