ATLAS Offline Software
Loading...
Searching...
No Matches
NavigableVector_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_NAVIGABLEVECTOR_P1_H
6#define DATAMODELATHENAPOOL_NAVIGABLEVECTOR_P1_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_p1<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
This file contains the class definition for the ElementLinkVector_p1 class.
NavigableVector_p1< uint32_t > NavigableVectorInt_p1
NavigableVector_p1< std::string > NavigableVectorStr_p1
std::vector< unsigned short > m_navigableSizes
ElementLinkVector_p1< INDEXTYPE > m_links
ElementLinkVector_p1< typename GenerateELinkIndexType_p1< typename NAV::external_index_type >::type > m_links
NavigableVector_p1< typename GenerateELinkIndexType_p1< typename NAV::external_index_type >::type > type
NavigableVector_p1< typename GenerateELinkIndexType_p1< typename NAV::external_index_type >::type, RPAR > type