The Gaudi Framework  v29r0 (ff2e7097)
AIDA_visibility_hack.cpp
Go to the documentation of this file.
1 /*
2  * AIDA_visibility_hack.cpp
3  *
4  * Created on: Jan 27, 2009
5  * Author: Marco Clemencic
6  */
7 
8 #ifdef __ICC
9 // disable icc remark #177: declared but never referenced
10 #pragma warning( disable : 177 )
11 #elif __clang__
12 #pragma clang diagnostic ignored "-Wunused-variable"
13 #endif
14 
15 // For the GAUDI_API macro
16 #include "GaudiKernel/Kernel.h"
17 
18 // To avoid breaking STL
19 #include <string>
20 #include <vector>
21 
22 // Force visibility of the classes
23 #ifdef __clang__
24 #pragma clang diagnostic push
25 #pragma clang diagnostic ignored "-Wkeyword-macro"
26 #endif
27 #define class class GAUDI_API
28 #ifdef __clang__
29 #pragma clang diagnostic pop
30 #endif
31 #include <AIDA/IAnnotation.h>
32 #include <AIDA/IAxis.h>
33 #include <AIDA/IBaseHistogram.h>
34 #include <AIDA/IHistogram1D.h>
35 #include <AIDA/IHistogram2D.h>
36 #include <AIDA/IHistogram3D.h>
37 #include <AIDA/IProfile1D.h>
38 #include <AIDA/IProfile2D.h>
39 #undef class
40 
41 #include <typeinfo>
42 
43 using namespace AIDA;
44 
45 #define TI( x ) const std::type_info& x##Info = typeid( x )
46 namespace
47 {
48  TI( IBaseHistogram );
49  TI( IHistogram );
50  TI( IHistogram1D );
51  TI( IHistogram2D );
52  TI( IHistogram3D );
53  TI( IProfile );
54  TI( IProfile1D );
55  TI( IProfile2D );
56  TI( IAnnotation );
57  TI( IAxis );
58 }
#define TI(x)
GaudiKernel.
Definition: Fill.h:10