BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bsls_assert_macroreset.h
Go to the documentation of this file.
1
/// @file bsls_assert_macroreset.h
2
///
3
/// The content of this file has been pre-processed for Doxygen.
4
///
5
6
7
// bsls_assert_macroreset.h -*-C++-*-
8
#ifndef INCLUDED_BSLS_ASSERT_MACRORESET
9
#define INCLUDED_BSLS_ASSERT_MACRORESET
10
11
#include <
bsls_ident.h
>
12
BSLS_IDENT
(
"$Id: $"
)
13
14
/// @defgroup bsls_assert_macroreset bsls_assert_macroreset
15
/// @brief Undefine all macros from `bsls_assert.h` and `bsls_review.h`.
16
/// @addtogroup bsl
17
/// @{
18
/// @addtogroup bsls
19
/// @{
20
/// @addtogroup bsls_assert_macroreset
21
/// @{
22
///
23
/// <h1> Outline </h1>
24
/// * <a href="#bsls_assert_macroreset-purpose"> Purpose</a>
25
/// * <a href="#bsls_assert_macroreset-description"> Description </a>
26
/// * <a href="#bsls_assert_macroreset-usage"> Usage </a>
27
///
28
/// # Purpose {#bsls_assert_macroreset-purpose}
29
/// Undefine all macros from `bsls_assert.h` and `bsls_review.h`.
30
///
31
/// # Description {#bsls_assert_macroreset-description}
32
/// This component provides a header that is *included* to undefine
33
/// all macros defined in `bsls_assert.h` and `bsls_review.h`; it is designed to
34
/// be *re*-includable. This is for the use of the @ref bsls_assert test driver to
35
/// enable it to re-include the `bsls_assert.h` header with different input
36
/// macros and verify that they output the correct resulting macro definitions.
37
///
38
/// ## Usage {#bsls_assert_macroreset-usage}
39
///
40
///
41
/// To undefine all macros defined in `bsls_assert.h` and `bsls_review.h`, first
42
/// disable the header include guard for this header
43
/// (`bsls_assert_macroreset.h`):
44
/// @code
45
/// #undef INCLUDED_BSLS_ASSERT_MACRORESET
46
/// @endcode
47
/// Then re-include this header, which will undefine the macros that were
48
/// defined by `bsls_assert.h` and `bsls_review.h`:
49
/// @code
50
/// #include <bsls_assert_macroreset.h>
51
/// @endcode
52
/// Then define any macros that control the behaviors of `bsls_assert.h` and
53
/// `bsls_review.h` for this particular test, then re-include `bsls_assert.h`:
54
/// @code
55
/// #include <bsls_assert.h>
56
/// @endcode
57
/// @}
58
/** @} */
59
/** @} */
60
61
/** @addtogroup bsl
62
* @{
63
*/
64
/** @addtogroup bsls
65
* @{
66
*/
67
/** @addtogroup bsls_assert_macroreset
68
* @{
69
*/
70
71
// Undefine the external header guards so that the component headers can be
72
// re-included and re-evaluated.
73
#undef INCLUDED_BSLS_REVIEW
74
#undef INCLUDED_BSLS_ASSERT
75
76
// Undefine the build mode so it can be set to whatever the test wants to
77
// verify next.
78
#undef BDE_BUILD_TARGET_DBG
79
#undef BDE_BUILD_TARGET_OPT
80
#undef BDE_BUILD_TARGET_SAFE
81
#undef BDE_BUILD_TARGET_SAFE_2
82
83
// Undefine the explicit review level and assert level macros.
84
#undef BSLS_REVIEW_LEVEL_NONE
85
#undef BSLS_REVIEW_LEVEL_REVIEW
86
#undef BSLS_REVIEW_LEVEL_REVIEW_OPT
87
#undef BSLS_REVIEW_LEVEL_REVIEW_SAFE
88
89
#undef BSLS_ASSERT_LEVEL_ASSERT
90
#undef BSLS_ASSERT_LEVEL_ASSERT_OPT
91
#undef BSLS_ASSERT_LEVEL_ASSERT_SAFE
92
#undef BSLS_ASSERT_LEVEL_ASSUME_ASSERT
93
#undef BSLS_ASSERT_LEVEL_ASSUME_OPT
94
#undef BSLS_ASSERT_LEVEL_ASSUME_SAFE
95
#undef BSLS_ASSERT_LEVEL_NONE
96
97
// Undefine other control macros
98
#undef BSLS_REVIEW_VALIDATE_DISABLED_MACROS
99
#undef BSLS_ASSERT_VALIDATE_DISABLED_MACROS
100
101
// Undefine the macros actually defined by 'bsls_review.h'.
102
#undef BSLS_REVIEW
103
#undef BSLS_REVIEW_REVIEW_IMP
104
#undef BSLS_REVIEW_REVIEW_COUNT_IMP
105
#undef BSLS_REVIEW_DISABLED_IMP
106
#undef BSLS_REVIEW_INVOKE
107
#undef BSLS_REVIEW_IS_ACTIVE
108
#undef BSLS_REVIEW_IS_USED
109
#undef BSLS_REVIEW_OPT
110
#undef BSLS_REVIEW_OPT_IS_ACTIVE
111
#undef BSLS_REVIEW_OPT_IS_USED
112
#undef BSLS_REVIEW_SAFE
113
#undef BSLS_REVIEW_SAFE_IS_ACTIVE
114
#undef BSLS_REVIEW_SAFE_IS_USED
115
116
// Undefine the macros actually defined by 'bsls_assert.h'.
117
#undef BSLS_ASSERT
118
#undef BSLS_ASSERT_ASSERT
119
#undef BSLS_ASSERT_ASSUME_IMP
120
#undef BSLS_ASSERT_ASSERT_IMP
121
#undef BSLS_ASSERT_DISABLED_IMP
122
#undef BSLS_ASSERT_INVOKE
123
#undef BSLS_ASSERT_INVOKE_NORETURN
124
#undef BSLS_ASSERT_IS_ACTIVE
125
#undef BSLS_ASSERT_IS_ASSUMED
126
#undef BSLS_ASSERT_IS_REVIEW
127
#undef BSLS_ASSERT_IS_USED
128
#undef BSLS_ASSERT_OPT
129
#undef BSLS_ASSERT_OPT_IS_ACTIVE
130
#undef BSLS_ASSERT_OPT_IS_ASSUMED
131
#undef BSLS_ASSERT_OPT_IS_REVIEW
132
#undef BSLS_ASSERT_OPT_IS_USED
133
#undef BSLS_ASSERT_SAFE
134
#undef BSLS_ASSERT_SAFE_IS_ACTIVE
135
#undef BSLS_ASSERT_SAFE_IS_ASSUMED
136
#undef BSLS_ASSERT_SAFE_IS_REVIEW
137
#undef BSLS_ASSERT_SAFE_IS_USED
138
139
#endif
140
141
// ----------------------------------------------------------------------------
142
// Copyright 2018 Bloomberg Finance L.P.
143
//
144
// Licensed under the Apache License, Version 2.0 (the "License");
145
// you may not use this file except in compliance with the License.
146
// You may obtain a copy of the License at
147
//
148
// http://www.apache.org/licenses/LICENSE-2.0
149
//
150
// Unless required by applicable law or agreed to in writing, software
151
// distributed under the License is distributed on an "AS IS" BASIS,
152
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
153
// See the License for the specific language governing permissions and
154
// limitations under the License.
155
// ----------------------------- END-OF-FILE ----------------------------------
156
157
/** @} */
158
/** @} */
159
/** @} */
bsls_ident.h
BSLS_IDENT
#define BSLS_IDENT(str)
Definition
bsls_ident.h:195
doxygen_input
bde
groups
bsl
bsls
bsls_assert_macroreset.h
Generated by
1.9.8