MongoDB C++ Driver mongocxx-3.10.1
Loading...
Searching...
No Matches
prelude.hpp
1// Copyright 2014 MongoDB Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// util.hpp
16#pragma push_macro("BSONCXX_CONCAT")
17#undef BSONCXX_CONCAT
18#pragma push_macro("BSONCXX_CONCAT_IMPL")
19#undef BSONCXX_CONCAT_IMPL
20#pragma push_macro("BSONCXX_STRINGIFY")
21#undef BSONCXX_STRINGIFY
22#pragma push_macro("BSONCXX_STRINGIFY_IMPL")
23#undef BSONCXX_STRINGIFY_IMPL
24#pragma push_macro("BSONCXX_PRAGMA")
25#undef BSONCXX_PRAGMA
26#pragma push_macro("_bsoncxxPragma")
27#undef _bsoncxxPragma
28#pragma push_macro("BSONCXX_FORCE_SEMICOLON")
29#undef BSONCXX_FORCE_SEMICOLON
30#pragma push_macro("BSONCXX_RETURNS")
31#undef BSONCXX_RETURNS
32#pragma push_macro("bsoncxx_cxx14_constexpr")
33#undef bsoncxx_cxx14_constexpr
34#pragma push_macro("BSONCXX_DISABLE_WARNING")
35#undef BSONCXX_DISABLE_WARNING
36#pragma push_macro("BSONCXX_PUSH_WARNINGS")
37#undef BSONCXX_PUSH_WARNINGS
38#pragma push_macro("BSONCXX_POP_WARNINGS")
39#undef BSONCXX_POP_WARNINGS
40#pragma push_macro("_bsoncxxDisableWarningImpl_for_GCC")
41#undef _bsoncxxDisableWarningImpl_for_GCC
42#pragma push_macro("_bsoncxxDisableWarningImpl_for_Clang")
43#undef _bsoncxxDisableWarningImpl_for_Clang
44#pragma push_macro("_bsoncxxDisableWarningImpl_for_MSVC")
45#undef _bsoncxxDisableWarningImpl_for_MSVC
46#pragma push_macro("_bsoncxxDisableWarningImpl_for_GNU")
47#undef _bsoncxxDisableWarningImpl_for_GNU
48#pragma push_macro("BSONCXX_FWD")
49#undef BSONCXX_FWD
50
51// compiler.hpp
52#pragma push_macro("BSONCXX_INLINE")
53#undef BSONCXX_INLINE
54#pragma push_macro("BSONCXX_CALL")
55#undef BSONCXX_CALL
56#pragma push_macro("BSONCXX_IF_MSVC")
57#undef BSONCXX_IF_MSVC
58#pragma push_macro("BSONCXX_IF_GCC")
59#undef BSONCXX_IF_GCC
60#pragma push_macro("BSONCXX_IF_CLANG")
61#undef BSONCXX_IF_CLANG
62#pragma push_macro("BSONCXX_IF_GNU_LIKE")
63#undef BSONCXX_IF_GNU_LIKE
64
65// config.hpp (generated by CMake)
66#pragma push_macro("BSONCXX_INLINE_NAMESPACE_BEGIN")
67#undef BSONCXX_INLINE_NAMESPACE_BEGIN
68#pragma push_macro("BSONCXX_INLINE_NAMESPACE_END")
69#undef BSONCXX_INLINE_NAMESPACE_END
70#pragma push_macro("BSONCXX_POLY_USE_MNMLSTC")
71#undef BSONCXX_POLY_USE_MNMLSTC
72#pragma push_macro("BSONCXX_POLY_USE_SYSTEM_MNMLSTC")
73#undef BSONCXX_POLY_USE_SYSTEM_MNMLSTC
74#pragma push_macro("BSONCXX_POLY_USE_BOOST")
75#undef BSONCXX_POLY_USE_BOOST
76#pragma push_macro("BSONCXX_POLY_USE_IMPLS")
77#undef BSONCXX_POLY_USE_IMPLS
78#pragma push_macro("BSONCXX_POLY_USE_STD")
79#undef BSONCXX_POLY_USE_STD
80
81// version.hpp (generated by CMake)
82#pragma push_macro("BSONCXX_VERSION_EXTRA")
83#undef BSONCXX_VERSION_EXTRA
84#pragma push_macro("BSONCXX_VERSION_MAJOR")
85#undef BSONCXX_VERSION_MAJOR
86#pragma push_macro("BSONCXX_VERSION_MINOR")
87#undef BSONCXX_VERSION_MINOR
88#pragma push_macro("BSONCXX_VERSION_PATCH")
89#undef BSONCXX_VERSION_PATCH
90
91// export.hpp (generated by CMake)
92#pragma push_macro("BSONCXX_API_H")
93#undef BSONCXX_API_H
94#pragma push_macro("BSONCXX_API")
95#undef BSONCXX_API
96#pragma push_macro("BSONCXX_PRIVATE")
97#undef BSONCXX_PRIVATE
98#pragma push_macro("BSONCXX_DEPRECATED")
99#undef BSONCXX_DEPRECATED
100#pragma push_macro("BSONCXX_DEPRECATED_EXPORT")
101#undef BSONCXX_DEPRECATED_EXPORT
102#pragma push_macro("BSONCXX_DEPRECATED_NO_EXPORT")
103#undef BSONCXX_DEPRECATED_NO_EXPORT
104#pragma push_macro("DEFINE_NO_DEPRECATED")
105#undef DEFINE_NO_DEPRECATED
106#pragma push_macro("BSONCXX_NO_DEPRECATED")
107#undef BSONCXX_NO_DEPRECATED
108
109#include <bsoncxx/config/util.hpp>
110//
111#include <bsoncxx/config/compiler.hpp>
112#include <bsoncxx/config/config.hpp>
113#include <bsoncxx/config/export.hpp>
114#include <bsoncxx/config/version.hpp>
115
116#pragma push_macro("BSONCXX_UNREACHABLE")
117#undef BSONCXX_UNREACHABLE
118#define BSONCXX_UNREACHABLE std::abort()
119
120// CXX-2769: out-of-place, but remains for backward compatibility.
121#pragma push_macro("BSONCXX_ENUM")
122#undef BSONCXX_ENUM
123
124// Doxygen does not account for generated header files.
125// Document globally applicable macros and namespaces here.
126
131
136