BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslstl_ios.h
Go to the documentation of this file.
1/// @file bslstl_ios.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// bslstl_ios.h -*-C++-*-
8#ifndef INCLUDED_BSLSTL_IOS
9#define INCLUDED_BSLSTL_IOS
10
11#include <bsls_ident.h>
12BSLS_IDENT("$Id: $")
13
14/// @defgroup bslstl_ios bslstl_ios
15/// @brief Provide functionality of the corresponding C++ Standard header.
16/// @addtogroup bsl
17/// @{
18/// @addtogroup bslstl
19/// @{
20/// @addtogroup bslstl_ios
21/// @{
22///
23/// <h1> Outline </h1>
24/// * <a href="#bslstl_ios-purpose"> Purpose</a>
25/// * <a href="#bslstl_ios-description"> Description </a>
26///
27/// # Purpose {#bslstl_ios-purpose}
28/// Provide functionality of the corresponding C++ Standard header.
29///
30/// **Canonical header:** bsl_ios.h
31///
32/// @see bsl+bslhdrs
33///
34/// # Description {#bslstl_ios-description}
35/// Provide types, in the `bsl` namespace, equivalent to those
36/// defined in the corresponding C++ standard header. Include the native
37/// compiler-provided standard header, and also directly include Bloomberg's
38/// implementation of the C++ standard type (if one exists). Finally, place the
39/// included symbols from the `std` namespace (if any) into the `bsl` namespace.
40/// @}
41/** @} */
42/** @} */
43
44/** @addtogroup bsl
45 * @{
46 */
47/** @addtogroup bslstl
48 * @{
49 */
50/** @addtogroup bslstl_ios
51 * @{
52 */
53
54#include <bslscm_version.h>
55
57#include <bsls_platform.h>
58
59#include <bslstl_iosfwd.h>
60
61#include <ios>
62
63#ifndef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
64#include <bsls_nativestd.h>
65#endif // BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
66
67namespace bsl {
68 // Import selected symbols into bsl namespace
69
70 using std::basic_ios;
71 using std::fpos;
72 using std::ios;
73 using std::ios_base;
74 using std::wios;
75 using std::streamoff;
76 using std::streamsize;
77 using std::streampos;
78 using std::wstreampos;
79
80 using std::boolalpha;
81 using std::dec;
82 using std::exception;
83 using std::fixed;
84 using std::hex;
85 using std::internal;
86 using std::left;
87 using std::oct;
88 using std::right;
89 using std::scientific;
90 using std::showbase;
91 using std::showpoint;
92 using std::showpos;
93 using std::skipws;
94 using std::unitbuf;
95 using std::uppercase;
96 using std::noboolalpha;
97 using std::noshowbase;
98 using std::noshowpoint;
99 using std::noshowpos;
100 using std::noskipws;
101 using std::nounitbuf;
102 using std::nouppercase;
103
104#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
105 // C++11 extensions
106 using std::defaultfloat;
107 using std::hexfloat;
108 using std::io_errc;
109 using std::is_error_code_enum;
110 using std::iostream_category;
111 using std::make_error_code;
112 using std::make_error_condition;
113#else
114 // Define this in C++03 mode as well
115 inline
116 ios_base& defaultfloat(ios_base& ios)
117 {
118 ios.unsetf(ios_base::floatfield);
119 return ios;
120 }
121#endif // BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
122
123#ifndef BDE_OMIT_INTERNAL_DEPRECATED
124 // Additional symbols leaked to support transitive dependencies in higher
125 // level (non BDE) Bloomberg code.
126# if !defined(BSLS_PLATFORM_CMP_MSVC) && __cplusplus < 201703L
127 // As some of these names are removed from C++17, take a sledgehammer to
128 // crack this nut, and remove all non-standard exports.
129 using std::bad_exception;
130 using std::basic_streambuf;
131 using std::bidirectional_iterator_tag;
132 using std::ctype;
133 using std::ctype_base;
134 using std::ctype_byname;
135 using std::forward_iterator_tag;
136 using std::input_iterator_tag;
137 using std::istreambuf_iterator;
138 using std::iterator;
139 using std::locale;
140
141# ifndef BSLS_PLATFORM_OS_DARWIN
142// This alias isn't available from <ios> in Maverick (OS X 10.9). See DRQS
143// 54913937.
144 using std::num_get;
145# endif
146
147 using std::numpunct;
148 using std::numpunct_byname;
149 using std::ostreambuf_iterator;
150 using std::output_iterator_tag;
151 using std::random_access_iterator_tag;
152 using std::set_terminate;
153 using std::set_unexpected;
154 using std::swap;
155 using std::terminate;
156 using std::terminate_handler;
157 using std::uncaught_exception;
158 using std::unexpected;
159 using std::unexpected_handler;
160 using std::use_facet;
161# endif // MSVC, or C++2017
162#endif // BDE_OMIT_INTERNAL_DEPRECATED
163} // close package namespace
164
165#endif
166
167// ----------------------------------------------------------------------------
168// Copyright 2023 Bloomberg Finance L.P.
169//
170// Licensed under the Apache License, Version 2.0 (the "License");
171// you may not use this file except in compliance with the License.
172// You may obtain a copy of the License at
173//
174// http://www.apache.org/licenses/LICENSE-2.0
175//
176// Unless required by applicable law or agreed to in writing, software
177// distributed under the License is distributed on an "AS IS" BASIS,
178// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
179// See the License for the specific language governing permissions and
180// limitations under the License.
181// ----------------------------- END-OF-FILE ----------------------------------
182
183/** @} */
184/** @} */
185/** @} */
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlb_printmethods.h:283
void swap(TYPE &a, TYPE &b)