The Gaudi Framework  master (37c0b60a)
AIDA_visibility_hack.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 /*
12  * AIDA_visibility_hack.cpp
13  *
14  * Created on: Jan 27, 2009
15  * Author: Marco Clemencic
16  */
17 
18 #ifdef __ICC
19 // disable icc remark #177: declared but never referenced
20 # pragma warning( disable : 177 )
21 #elif __clang__
22 # pragma clang diagnostic ignored "-Wunused-variable"
23 #endif
24 
25 // For the GAUDI_API macro
26 #include <GaudiKernel/Kernel.h>
27 
28 // To avoid breaking STL
29 #include <string>
30 #include <vector>
31 
32 // Force visibility of the classes
33 #ifdef __clang__
34 # pragma clang diagnostic push
35 # pragma clang diagnostic ignored "-Wkeyword-macro"
36 #endif
37 #define class class GAUDI_API
38 #ifdef __clang__
39 # pragma clang diagnostic pop
40 #endif
41 #include <AIDA/IAnnotation.h>
42 #include <AIDA/IAxis.h>
43 #include <AIDA/IBaseHistogram.h>
44 #include <AIDA/IHistogram1D.h>
45 #include <AIDA/IHistogram2D.h>
46 #include <AIDA/IHistogram3D.h>
47 #include <AIDA/IProfile1D.h>
48 #include <AIDA/IProfile2D.h>
49 #undef class
50 
51 #include <typeinfo>
52 
53 using namespace AIDA;
54 
55 #define TI( x ) const std::type_info& x##Info = typeid( x )
56 namespace {
57  TI( IBaseHistogram );
58  TI( IHistogram );
59  TI( IHistogram1D );
60  TI( IHistogram2D );
61  TI( IHistogram3D );
62  TI( IProfile );
63  TI( IProfile1D );
64  TI( IProfile2D );
65  TI( IAnnotation );
66  TI( IAxis );
67 } // namespace
AIDA
GaudiKernel.
Definition: Annotation.h:22
TI
#define TI(x)
Definition: AIDA_visibility_hack.cpp:55
Kernel.h