ATLAS Offline Software
Loading...
Searching...
No Matches
NavigableVector_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_NAVIGABLEVECTOR_P2_H
6#define DATAMODELATHENAPOOL_NAVIGABLEVECTOR_P2_H
7
12
14
18
19template <typename INDEXTYPE, typename RPAR=void>
21{
22public:
24 size_t size() const { return m_navigableSizes.size(); }
25
27 std::vector<RPAR> m_parameters;
28 std::vector<unsigned short> m_navigableSizes;
29};
30
31
32// specialization of the above class for non-weighted Navigables
33template <typename INDEXTYPE>
34class NavigableVector_p2<INDEXTYPE, void>
35{
36public:
38 size_t size() const { return m_navigableSizes.size(); }
39
41 std::vector<unsigned short> m_navigableSizes;
42};
43
44
45
46// Helper template to generate type of the persistent NavigableVector_pN
47// from the type of the transient Navigable
48// Used in the NavigableVectorCnv_pN
49
50namespace NavigationDefaults {
51 struct DefaultWeight;
52}
53
54
55template <class NAV, typename RPAR = typename NAV::parameter_type >
62
63
64template <class NAV >
71
72
73
74// If you define more Navigable_pN types, remember to add template instantiations to the Dict file
75
78
79
80#endif
81
82
83
NavigableVector_p2< std::string > NavigableVectorStr_p2
NavigableVector_p2< uint32_t > NavigableVectorInt_p2
std::vector< unsigned short > m_navigableSizes
VectorElementLink_p1_t< INDEXTYPE >::Type m_links
VectorElementLink_p1_t< typename GenerateELinkIndexType_p3< typename NAV::external_index_type >::type >::Type m_links
NavigableVector_p2< typename GenerateELinkIndexType_p3< typename NAV::external_index_type >::type > type
NavigableVector_p2< typename GenerateELinkIndexType_p3< typename NAV::external_index_type >::type, RPAR > type