|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef TRIGTYPEINFO_EDM_TYPEINFORMATION_H
7 #define TRIGTYPEINFO_EDM_TYPEINFORMATION_H
9 #include "AthLinks/ElementLink.h"
10 #include "AthLinks/DataLink.h"
13 #define HLT_BEGIN_TYPE_REGISTRATION typedef HLT::TypeInformation::newlist::
17 #define CAT( A, B ) A ## B
18 #define SELECT( NAME, NUM ) CAT( NAME ## _, NUM )
20 #define GET_COUNT( _1, _2, _3, _4, _5, _6, COUNT, ... ) COUNT
21 #define VA_SIZE( ... ) GET_COUNT( __VA_ARGS__, 6, 5, 4, 3, 2, 1 )
23 #define VA_SELECT( NAME, ... ) SELECT( NAME, VA_SIZE(__VA_ARGS__) )(__VA_ARGS__)
26 #define HLT_REGISTER_IMPL_3(OBJECT,FEATURE,CONTAINER) \
27 addWithChecking<HLT::TypeInformation::type_info<OBJECT ,HLT::TypeInformation::list<FEATURE ,HLT::\
28 TypeInformation::nil>,CONTAINER > > ::go::
30 #define HLT_REGISTER_IMPL_4(OBJECT,FEATURE,CONTAINER,AUX) \
31 addWithChecking<HLT::TypeInformation::type_info<OBJECT ,HLT::TypeInformation::list<FEATURE ,HLT::\
32 TypeInformation::nil>,CONTAINER,AUX> > ::go::
34 #define HLT_REGISTER_TYPE(...) VA_SELECT(HLT_REGISTER_IMPL,__VA_ARGS__)
36 #define HLT_END_TYPE_REGISTRATION(name) done TypeInfo_##name;