Elements
5.8
A C++ base framework for the Euclid Software.
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
ElementsKernel
ElementsKernel
Export.h
Go to the documentation of this file.
1
42
#ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_EXPORT_H_
43
#define ELEMENTSKERNEL_ELEMENTSKERNEL_EXPORT_H_
44
45
#include "
ElementsKernel/Attribute.h
"
46
47
// ---------------------------------- Symbol visibility macros (begin)
48
// Enabled on in Elements v21 mode
49
#if defined(ELEMENTS_HIDE_SYMBOLS)
50
#if defined(__GNUC__) && not defined(__CINT__)
53
# define ELEMENTS_HASCLASSVISIBILITY
54
#endif
55
56
#if defined(ELEMENTS_HASCLASSVISIBILITY)
57
# define ELEMENTS_IMPORT __attribute__((visibility("default")))
58
# define ELEMENTS_EXPORT __attribute__((visibility("default")))
59
# define ELEMENTS_LOCAL __attribute__((visibility("hidden")))
60
#else
61
# define ELEMENTS_IMPORT
62
# define ELEMENTS_EXPORT
63
# define ELEMENTS_LOCAL
64
#endif
65
67
#ifdef ELEMENTS_LINKER_LIBRARY
68
#define ELEMENTS_API ELEMENTS_EXPORT
69
#else
70
#define ELEMENTS_API ELEMENTS_IMPORT
71
#endif
72
#else
73
#define ELEMENTS_API
75
#define ELEMENTS_IMPORT
76
#define ELEMENTS_EXPORT
77
#define ELEMENTS_LOCAL
78
#endif // defined(ELEMENTS_HIDE_SYMBOLS)
79
80
// ---------------------------------- Symbol visibility macros (end)
81
82
#endif // ELEMENTSKERNEL_ELEMENTSKERNEL_EXPORT_H_
83
Attribute.h
define the __attribute__ macro if it doesn't exist for some version of GCC
Generated by
1.8.5