5#ifndef XAODCORE_TOOLS_DICTHELPERS_H
6#define XAODCORE_TOOLS_DICTHELPERS_H
9#include "AthLinks/DataLink.h"
10#include "AthLinks/ElementLink.h"
17# define XAOD_BASEINFO_TYPE(TYPE) int
19# define XAOD_BASEINFO_TYPE(TYPE) SG::BaseInfo<TYPE>
24#define XAOD_INSTANTIATE_CONTAINER_TYPES( TYPE ) \
25 TYPE dummy_##TYPE##_1; \
26 DataLink< TYPE > dummy_##TYPE##_2; \
27 ElementLink< TYPE > dummy_##TYPE##_3; \
28 std::vector< DataLink< TYPE > > dummy_##TYPE##_4; \
29 std::vector< ElementLink< TYPE > > dummy_##TYPE##_5; \
30 std::vector< std::vector< ElementLink< TYPE > > > dummy_##TYPE##_6; \
31 SG::AuxTypeVectorFactory< DataLink< TYPE > > dummy_##TYPE##_7; \
32 SG::AuxTypeVectorFactory< ElementLink< TYPE > > dummy_##TYPE##_8; \
33 SG::AuxTypeVectorFactory< std::vector< ElementLink< TYPE > > > \
35 XAOD_BASEINFO_TYPE(TYPE) dummy_##TYPE##_10; \
36 DataVectorBase< TYPE::base_value_type > dummy_##TYPE##_11
40#define XAOD_INSTANTIATE_NS_CONTAINER_TYPES( NS, TYPE ) \
41 NS::TYPE dummy_##NS##_##TYPE##_1; \
42 DataLink< NS::TYPE > dummy_##NS##_##TYPE##_2; \
43 ElementLink< NS::TYPE > dummy_##NS##_##TYPE##_3; \
44 std::vector< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_4; \
45 std::vector< ElementLink< NS::TYPE > > dummy_##NS##_##TYPE##_5; \
46 std::vector< std::vector< ElementLink< NS::TYPE > > > \
47 dummy_##NS##_##TYPE##_6; \
48 SG::AuxTypeVectorFactory< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_7; \
49 SG::AuxTypeVectorFactory< ElementLink< NS::TYPE > > dummy_##NS##_##TYPE##_8;\
50 SG::AuxTypeVectorFactory< std::vector< ElementLink< NS::TYPE > > > \
51 dummy_##NS##_##TYPE##_9; \
52 XAOD_BASEINFO_TYPE(NS::TYPE) dummy_##NS##_##TYPE##_10; \
53 DataVectorBase< NS::TYPE::base_value_type > dummy_##NS##_##TYPE##_11
57#define XAOD_INSTANTIATE_OBJECT_TYPES( TYPE ) \
58 TYPE dummy_##TYPE##_1; \
59 DataLink< TYPE > dummy_##TYPE##_2; \
60 std::vector< DataLink< TYPE > > dummy_##TYPE##_3; \
61 SG::AuxTypeVectorFactory< DataLink< TYPE > > dummy_##TYPE##_4
65#define XAOD_INSTANTIATE_NS_OBJECT_TYPES( NS, TYPE ) \
66 NS::TYPE dummy_##NS##_##TYPE##_1; \
67 DataLink< NS::TYPE > dummy_##NS##_##TYPE##_2; \
68 std::vector< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_3; \
69 SG::AuxTypeVectorFactory< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_4
Factory object that creates vectors using AuxTypeVector.