ATLAS Offline Software
AthContainersAccessorsDict.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 /*
3  * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
4  */
13 #ifndef ATHCONTAINERS_ATHCONTAINERSACCESSORDICT_H
14 #define ATHCONTAINERS_ATHCONTAINERSACCESSORDICT_H
15 
16 
17 #include "AthContainers/Accessor.h"
22 #include <string>
23 #include <vector>
24 
25 
26 #define ARGS1 (const std::string&)
27 #define ARGS2 (const std::string&, const std::string&)
28 #define INSTAN_TYPE(TYP) \
29  template class SG::ConstAccessor<TYP>; \
30  template class SG::Accessor<TYP>; \
31  template class SG::Decorator<TYP>; \
32  template TYP& SG::AuxElement::auxdata<TYP> ARGS1; \
33  template TYP& SG::AuxElement::auxdata<TYP> ARGS2; \
34  template const TYP& SG::ConstAuxElement::auxdata<TYP> ARGS1 const; \
35  template const TYP& SG::ConstAuxElement::auxdata<TYP> ARGS2 const; \
36  template const TYP& SG::ConstAuxElement::auxdataConst<TYP> ARGS1 const; \
37  template const TYP& SG::ConstAuxElement::auxdataConst<TYP> ARGS2 const; \
38  template TYP& SG::ConstAuxElement::auxdecor<TYP> ARGS1 const; \
39  template TYP& SG::ConstAuxElement::auxdecor<TYP> ARGS2 const;
40 
42 INSTAN_TYPE(unsigned char);
44 INSTAN_TYPE(short);
46 INSTAN_TYPE(unsigned int);
47 INSTAN_TYPE(unsigned short);
48 INSTAN_TYPE(unsigned long);
49 INSTAN_TYPE(unsigned long long);
50 INSTAN_TYPE(float);
51 INSTAN_TYPE(double);
53 INSTAN_TYPE(std::string);
54 
55 INSTAN_TYPE(std::vector<char>);
56 INSTAN_TYPE(std::vector<unsigned char>);
57 INSTAN_TYPE(std::vector<int>);
58 INSTAN_TYPE(std::vector<short>);
59 INSTAN_TYPE(std::vector<long>);
60 INSTAN_TYPE(std::vector<unsigned int>);
61 INSTAN_TYPE(std::vector<unsigned short>);
62 INSTAN_TYPE(std::vector<unsigned long>);
63 INSTAN_TYPE(std::vector<unsigned long long>);
64 INSTAN_TYPE(std::vector<float>);
65 INSTAN_TYPE(std::vector<double>);
66 INSTAN_TYPE(std::vector<bool>);
67 INSTAN_TYPE(std::vector<std::string>);
68 
70 
71 
72 #undef ARGS1
73 #undef ARGS2
74 #undef INSTAN_TYPE
75 
76 
77 #endif // not ATHCONTAINERS_ATHCONTAINERSACCESSORDICT_H
AtomicConstAccessor.h
Access an auxiliary variable atomically.
SG::AtomicConstAccessor
Access an auxiliary variable atomically.
Definition: AtomicConstAccessor.h:45
Accessor.h
Helper class to provide type-safe access to aux data.
INSTAN_TYPE
#define INSTAN_TYPE(TYP)
Definition: AthContainersAccessorsDict.h:28
ConstAccessor.h
Helper class to provide constant type-safe access to aux data.
Decorator.h
Helper class to provide type-safe access to aux data.
AuxElement.h
Base class for elements of a container that can have aux data.