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 MONGOCXX_ABI_EXPORT_H
3#define MONGOCXX_ABI_EXPORT_H
4
5#ifdef MONGOCXX_STATIC
6# define MONGOCXX_ABI_EXPORT
7# define MONGOCXX_ABI_NO_EXPORT
8#else
9# ifndef MONGOCXX_ABI_EXPORT
10# ifdef MONGOCXX_EXPORTS
11 /* We are building this library */
12# define MONGOCXX_ABI_EXPORT __attribute__((visibility("default")))
13# else
14 /* We are using this library */
15# define MONGOCXX_ABI_EXPORT __attribute__((visibility("default")))
16# endif
17# endif
18
19# ifndef MONGOCXX_ABI_NO_EXPORT
20# define MONGOCXX_ABI_NO_EXPORT __attribute__((visibility("hidden")))
21# endif
22#endif
23
24#ifndef MONGOCXX_DEPRECATED
25# define MONGOCXX_DEPRECATED __attribute__ ((__deprecated__))
26#endif
27
28#ifndef MONGOCXX_DEPRECATED_EXPORT
29# define MONGOCXX_DEPRECATED_EXPORT MONGOCXX_ABI_EXPORT MONGOCXX_DEPRECATED
30#endif
31
32#ifndef MONGOCXX_DEPRECATED_NO_EXPORT
33# define MONGOCXX_DEPRECATED_NO_EXPORT MONGOCXX_ABI_NO_EXPORT MONGOCXX_DEPRECATED
34#endif
35
36/* NOLINTNEXTLINE(readability-avoid-unconditional-preprocessor-if) */
37#if 0 /* DEFINE_NO_DEPRECATED */
38# ifndef MONGOCXX_ABI_NO_DEPRECATED
39# define MONGOCXX_ABI_NO_DEPRECATED
40# endif
41#endif
42
43#undef MONGOCXX_DEPRECATED_EXPORT
44#undef MONGOCXX_DEPRECATED_NO_EXPORT
45
46#if defined(_MSC_VER)
47#define MONGOCXX_ABI_CDECL __cdecl
48#else
49#define MONGOCXX_ABI_CDECL
50#endif
51
52#define MONGOCXX_ABI_EXPORT_CDECL(...) MONGOCXX_ABI_EXPORT __VA_ARGS__ MONGOCXX_ABI_CDECL
53
60
68
76
84
92
100
101#endif /* MONGOCXX_ABI_EXPORT_H */