The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
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
53using namespace AIDA;
54
55#define TI( x ) const std::type_info& x##Info = typeid( x )
56namespace {
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
#define TI(x)