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