ATLAS Offline Software
Control
DataModelAthenaPool
DataModelAthenaPool
Navigable_p1.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_NAVIGABLE_P1_H
6
#define DATAMODELATHENAPOOL_NAVIGABLE_P1_H
7
13
#include "
ElementLinkVector_p1.h
"
14
//#include "Navigable/NavigableDefaults.h"
15
20
template
<
typename
INDEXTYPE,
typename
RPAR=
void
>
21
class
Navigable_p1
22
{
23
public
:
24
Navigable_p1
() {}
25
26
ElementLinkVector_p1< INDEXTYPE >
m_links
;
27
std::vector<RPAR>
m_parameters
;
28
};
29
30
31
template
<
typename
INDEXTYPE>
32
class
Navigable_p1
<INDEXTYPE, void>
33
{
34
public
:
35
Navigable_p1
() {}
36
37
ElementLinkVector_p1< INDEXTYPE >
m_links
;
38
};
39
40
41
42
// Helper template to generate type of the persistent Navigable_pN
43
// from the type of the transient Navigable
44
// Used in the NavigableCnv_pN
45
46
namespace
NavigationDefaults
{
47
struct
DefaultWeight
;
48
}
49
50
51
template
<
class
NAV,
typename
RPAR =
typename
NAV::parameter_type >
52
struct
GeneratePersNavigableType
53
{
54
typedef
Navigable_p1
<
55
typename
GenerateELinkIndexType_p1<typename NAV::external_index_type>::type
,
56
RPAR >
type
;
57
};
58
59
60
template
<
class
NAV >
61
struct
GeneratePersNavigableType
<NAV,
NavigationDefaults
::DefaultWeight >
62
{
63
typedef
Navigable_p1
<
64
typename
GenerateELinkIndexType_p1<typename NAV::external_index_type>::type
65
>
type
;
66
};
67
68
69
70
// If you define more Navigable_pN types, remember to add template instantiations to the Dict file
71
72
typedef
Navigable_p1<uint32_t>
NavigableInt_p1
;
73
typedef
Navigable_p1<std::string>
NavigableStr_p1
;
74
75
76
#endif
77
78
79
Navigable_p1
Definition:
Navigable_p1.h:22
GeneratePersNavigableType< NAV, NavigationDefaults::DefaultWeight >::type
Navigable_p1< typename GenerateELinkIndexType_p1< typename NAV::external_index_type >::type > type
Definition:
Navigable_p1.h:65
ElementLinkVector_p1
Definition:
ElementLinkVector_p1.h:23
NavigableInt_p1
Navigable_p1< uint32_t > NavigableInt_p1
Definition:
Navigable_p1.h:72
Navigable_p1::m_parameters
std::vector< RPAR > m_parameters
Definition:
Navigable_p1.h:27
Navigable_p1::Navigable_p1
Navigable_p1()
Definition:
Navigable_p1.h:24
GeneratePersNavigableType
Definition:
Navigable_p1.h:53
NavigationDefaults::DefaultWeight
Definition:
NavigationDefaults.h:52
ElementLinkVector_p1.h
This file contains the class definition for the ElementLinkVector_p1 class.
Navigable_p1::m_links
ElementLinkVector_p1< INDEXTYPE > m_links
Definition:
Navigable_p1.h:26
NavigationDefaults
Definition:
Navigable_p1.h:46
GenerateELinkIndexType_p1
Definition:
ElementLink_p1.h:44
Navigable_p1< INDEXTYPE, void >::m_links
ElementLinkVector_p1< INDEXTYPE > m_links
Definition:
Navigable_p1.h:37
GeneratePersNavigableType::type
Navigable_p1< typename GenerateELinkIndexType_p1< typename NAV::external_index_type >::type, RPAR > type
Definition:
Navigable_p1.h:56
Navigable_p1< INDEXTYPE, void >::Navigable_p1
Navigable_p1()
Definition:
Navigable_p1.h:35
NavigableStr_p1
Navigable_p1< std::string > NavigableStr_p1
Definition:
Navigable_p1.h:73
Generated on Thu Nov 7 2024 21:22:41 for ATLAS Offline Software by
1.8.18