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