ATLAS Offline Software
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>
22 {
23 public:
25 
27  std::vector<RPAR> m_parameters;
28 };
29 
30 
31 template <typename INDEXTYPE>
32 class Navigable_p1<INDEXTYPE, void>
33 {
34 public:
36 
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 >
53 {
54  typedef Navigable_p1<
56  RPAR > type;
57 };
58 
59 
60 template <class NAV >
61 struct GeneratePersNavigableType<NAV, NavigationDefaults::DefaultWeight >
62 {
63  typedef Navigable_p1<
65  > type;
66 };
67 
68 
69 
70 // If you define more Navigable_pN types, remember to add template instantiations to the Dict file
71 
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