MongoDB C++ Driver 4.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
export.hpp
Go to the documentation of this file.
1
2#ifndef BSONCXX_ABI_EXPORT_H
3#define BSONCXX_ABI_EXPORT_H
4
5#ifdef BSONCXX_STATIC
6# define BSONCXX_ABI_EXPORT
7# define BSONCXX_ABI_NO_EXPORT
8#else
9# ifndef BSONCXX_ABI_EXPORT
10# ifdef BSONCXX_EXPORT
11 /* We are building this library */
12# define BSONCXX_ABI_EXPORT __attribute__((visibility("default")))
13# else
14 /* We are using this library */
15# define BSONCXX_ABI_EXPORT __attribute__((visibility("default")))
16# endif
17# endif
18
19# ifndef BSONCXX_ABI_NO_EXPORT
20# define BSONCXX_ABI_NO_EXPORT __attribute__((visibility("hidden")))
21# endif
22#endif
23
24#ifndef BSONCXX_DEPRECATED
25# define BSONCXX_DEPRECATED __attribute__ ((__deprecated__))
26#endif
27
28#ifndef BSONCXX_DEPRECATED_EXPORT
29# define BSONCXX_DEPRECATED_EXPORT BSONCXX_ABI_EXPORT BSONCXX_DEPRECATED
30#endif
31
32#ifndef BSONCXX_DEPRECATED_NO_EXPORT
33# define BSONCXX_DEPRECATED_NO_EXPORT BSONCXX_ABI_NO_EXPORT BSONCXX_DEPRECATED
34#endif
35
36/* NOLINTNEXTLINE(readability-avoid-unconditional-preprocessor-if) */
37#if 0 /* DEFINE_NO_DEPRECATED */
38# ifndef BSONCXX_ABI_NO_DEPRECATED
39# define BSONCXX_ABI_NO_DEPRECATED
40# endif
41#endif
42
43#undef BSONCXX_DEPRECATED_EXPORT
44#undef BSONCXX_DEPRECATED_NO_EXPORT
45
46#if defined(_MSC_VER)
47#define BSONCXX_ABI_CDECL __cdecl
48#else
49#define BSONCXX_ABI_CDECL
50#endif
51
52#define BSONCXX_ABI_EXPORT_CDECL(...) BSONCXX_ABI_EXPORT __VA_ARGS__ BSONCXX_ABI_CDECL
53
60
68
76
84
92
100
101#endif /* BSONCXX_ABI_EXPORT_H */