summaryrefslogtreecommitdiff
path: root/third_party/libcxx/include/c++/v1/ios
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-10-16 02:39:56 +0800
commit8cace3f05003c6cb4d38c36890055f03151c2ad4 (patch)
treeaa739deaac0266f17c4e91b333957501cb1ea2e9 /third_party/libcxx/include/c++/v1/ios
parent3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (diff)
downloadlume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.gz
lume-8cace3f05003c6cb4d38c36890055f03151c2ad4.tar.xz
Remove old code
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'third_party/libcxx/include/c++/v1/ios')
-rw-r--r--third_party/libcxx/include/c++/v1/ios898
1 files changed, 0 insertions, 898 deletions
diff --git a/third_party/libcxx/include/c++/v1/ios b/third_party/libcxx/include/c++/v1/ios
deleted file mode 100644
index 9cf0aa8..0000000
--- a/third_party/libcxx/include/c++/v1/ios
+++ /dev/null
@@ -1,898 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP_IOS
-#define _LIBCPP_IOS
-
-/*
- ios synopsis
-
-#include <iosfwd>
-
-namespace std
-{
-
-typedef OFF_T streamoff;
-typedef SZ_T streamsize;
-template <class stateT> class fpos;
-
-class ios_base
-{
-public:
- class failure;
-
- typedef T1 fmtflags;
- static constexpr fmtflags boolalpha;
- static constexpr fmtflags dec;
- static constexpr fmtflags fixed;
- static constexpr fmtflags hex;
- static constexpr fmtflags internal;
- static constexpr fmtflags left;
- static constexpr fmtflags oct;
- static constexpr fmtflags right;
- static constexpr fmtflags scientific;
- static constexpr fmtflags showbase;
- static constexpr fmtflags showpoint;
- static constexpr fmtflags showpos;
- static constexpr fmtflags skipws;
- static constexpr fmtflags unitbuf;
- static constexpr fmtflags uppercase;
- static constexpr fmtflags adjustfield;
- static constexpr fmtflags basefield;
- static constexpr fmtflags floatfield;
-
- typedef T2 iostate;
- static constexpr iostate badbit;
- static constexpr iostate eofbit;
- static constexpr iostate failbit;
- static constexpr iostate goodbit;
-
- typedef T3 openmode;
- static constexpr openmode app;
- static constexpr openmode ate;
- static constexpr openmode binary;
- static constexpr openmode in;
- static constexpr openmode noreplace; // since C++23
- static constexpr openmode out;
- static constexpr openmode trunc;
-
- typedef T4 seekdir;
- static constexpr seekdir beg;
- static constexpr seekdir cur;
- static constexpr seekdir end;
-
- class Init;
-
- // 27.5.2.2 fmtflags state:
- fmtflags flags() const;
- fmtflags flags(fmtflags fmtfl);
- fmtflags setf(fmtflags fmtfl);
- fmtflags setf(fmtflags fmtfl, fmtflags mask);
- void unsetf(fmtflags mask);
-
- streamsize precision() const;
- streamsize precision(streamsize prec);
- streamsize width() const;
- streamsize width(streamsize wide);
-
- // 27.5.2.3 locales:
- locale imbue(const locale& loc);
- locale getloc() const;
-
- // 27.5.2.5 storage:
- static int xalloc();
- long& iword(int index);
- void*& pword(int index);
-
- // destructor
- virtual ~ios_base();
-
- // 27.5.2.6 callbacks;
- enum event { erase_event, imbue_event, copyfmt_event };
- typedef void (*event_callback)(event, ios_base&, int index);
- void register_callback(event_callback fn, int index);
-
- ios_base(const ios_base&) = delete;
- ios_base& operator=(const ios_base&) = delete;
-
- static bool sync_with_stdio(bool sync = true);
-
-protected:
- ios_base();
-};
-
-template <class charT, class traits = char_traits<charT> >
-class basic_ios
- : public ios_base
-{
-public:
- // types:
- typedef charT char_type;
- typedef typename traits::int_type int_type; // removed in C++17
- typedef typename traits::pos_type pos_type; // removed in C++17
- typedef typename traits::off_type off_type; // removed in C++17
- typedef traits traits_type;
-
- operator unspecified-bool-type() const;
- bool operator!() const;
- iostate rdstate() const;
- void clear(iostate state = goodbit);
- void setstate(iostate state);
- bool good() const;
- bool eof() const;
- bool fail() const;
- bool bad() const;
-
- iostate exceptions() const;
- void exceptions(iostate except);
-
- // 27.5.4.1 Constructor/destructor:
- explicit basic_ios(basic_streambuf<charT,traits>* sb);
- virtual ~basic_ios();
-
- // 27.5.4.2 Members:
- basic_ostream<charT,traits>* tie() const;
- basic_ostream<charT,traits>* tie(basic_ostream<charT,traits>* tiestr);
-
- basic_streambuf<charT,traits>* rdbuf() const;
- basic_streambuf<charT,traits>* rdbuf(basic_streambuf<charT,traits>* sb);
-
- basic_ios& copyfmt(const basic_ios& rhs);
-
- char_type fill() const;
- char_type fill(char_type ch);
-
- locale imbue(const locale& loc);
-
- char narrow(char_type c, char dfault) const;
- char_type widen(char c) const;
-
- basic_ios(const basic_ios& ) = delete;
- basic_ios& operator=(const basic_ios&) = delete;
-
-protected:
- basic_ios();
- void init(basic_streambuf<charT,traits>* sb);
- void move(basic_ios& rhs);
- void swap(basic_ios& rhs) noexcept;
- void set_rdbuf(basic_streambuf<charT, traits>* sb);
-};
-
-// 27.5.5, manipulators:
-ios_base& boolalpha (ios_base& str);
-ios_base& noboolalpha(ios_base& str);
-ios_base& showbase (ios_base& str);
-ios_base& noshowbase (ios_base& str);
-ios_base& showpoint (ios_base& str);
-ios_base& noshowpoint(ios_base& str);
-ios_base& showpos (ios_base& str);
-ios_base& noshowpos (ios_base& str);
-ios_base& skipws (ios_base& str);
-ios_base& noskipws (ios_base& str);
-ios_base& uppercase (ios_base& str);
-ios_base& nouppercase(ios_base& str);
-ios_base& unitbuf (ios_base& str);
-ios_base& nounitbuf (ios_base& str);
-
-// 27.5.5.2 adjustfield:
-ios_base& internal (ios_base& str);
-ios_base& left (ios_base& str);
-ios_base& right (ios_base& str);
-
-// 27.5.5.3 basefield:
-ios_base& dec (ios_base& str);
-ios_base& hex (ios_base& str);
-ios_base& oct (ios_base& str);
-
-// 27.5.5.4 floatfield:
-ios_base& fixed (ios_base& str);
-ios_base& scientific (ios_base& str);
-ios_base& hexfloat (ios_base& str);
-ios_base& defaultfloat(ios_base& str);
-
-// 27.5.5.5 error reporting:
-enum class io_errc
-{
- stream = 1
-};
-
-concept_map ErrorCodeEnum<io_errc> { };
-error_code make_error_code(io_errc e) noexcept;
-error_condition make_error_condition(io_errc e) noexcept;
-storage-class-specifier const error_category& iostream_category() noexcept;
-
-} // std
-
-*/
-
-#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
-# include <__cxx03/ios>
-#else
-# include <__config>
-
-// standard-mandated includes
-
-// [ios.syn]
-# include <iosfwd>
-
-# if _LIBCPP_HAS_LOCALIZATION
-
-# include <__fwd/ios.h>
-# include <__ios/fpos.h>
-# include <__locale>
-# include <__memory/addressof.h>
-# include <__system_error/error_category.h>
-# include <__system_error/error_code.h>
-# include <__system_error/error_condition.h>
-# include <__system_error/system_error.h>
-# include <__utility/swap.h>
-# include <__verbose_abort>
-# include <version>
-
-# if _LIBCPP_HAS_ATOMIC_HEADER
-# include <__atomic/atomic.h> // for __xindex_
-# endif
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
-
-_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-typedef ptrdiff_t streamsize;
-
-class _LIBCPP_EXPORTED_FROM_ABI ios_base {
-public:
- class _LIBCPP_EXPORTED_FROM_ABI failure;
-
- typedef unsigned int fmtflags;
- static const fmtflags boolalpha = 0x0001;
- static const fmtflags dec = 0x0002;
- static const fmtflags fixed = 0x0004;
- static const fmtflags hex = 0x0008;
- static const fmtflags internal = 0x0010;
- static const fmtflags left = 0x0020;
- static const fmtflags oct = 0x0040;
- static const fmtflags right = 0x0080;
- static const fmtflags scientific = 0x0100;
- static const fmtflags showbase = 0x0200;
- static const fmtflags showpoint = 0x0400;
- static const fmtflags showpos = 0x0800;
- static const fmtflags skipws = 0x1000;
- static const fmtflags unitbuf = 0x2000;
- static const fmtflags uppercase = 0x4000;
- static const fmtflags adjustfield = left | right | internal;
- static const fmtflags basefield = dec | oct | hex;
- static const fmtflags floatfield = scientific | fixed;
-
- typedef unsigned int iostate;
- static const iostate badbit = 0x1;
- static const iostate eofbit = 0x2;
- static const iostate failbit = 0x4;
- static const iostate goodbit = 0x0;
-
- typedef unsigned int openmode;
- static const openmode app = 0x01;
- static const openmode ate = 0x02;
- static const openmode binary = 0x04;
- static const openmode in = 0x08;
- static const openmode out = 0x10;
- static const openmode trunc = 0x20;
-# if _LIBCPP_STD_VER >= 23
- static const openmode noreplace = 0x40;
-# endif
-
- enum seekdir { beg, cur, end };
-
-# if _LIBCPP_STD_VER <= 14
- typedef iostate io_state;
- typedef openmode open_mode;
- typedef seekdir seek_dir;
-
- typedef std::streamoff streamoff;
- typedef std::streampos streampos;
-# endif
-
- class _LIBCPP_EXPORTED_FROM_ABI Init;
-
- // 27.5.2.2 fmtflags state:
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI fmtflags flags() const;
- _LIBCPP_HIDE_FROM_ABI fmtflags flags(fmtflags __fmtfl);
- _LIBCPP_HIDE_FROM_ABI fmtflags setf(fmtflags __fmtfl);
- _LIBCPP_HIDE_FROM_ABI fmtflags setf(fmtflags __fmtfl, fmtflags __mask);
- _LIBCPP_HIDE_FROM_ABI void unsetf(fmtflags __mask);
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI streamsize precision() const;
- _LIBCPP_HIDE_FROM_ABI streamsize precision(streamsize __prec);
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI streamsize width() const;
- _LIBCPP_HIDE_FROM_ABI streamsize width(streamsize __wide);
-
- // 27.5.2.3 locales:
- locale imbue(const locale& __loc);
- [[__nodiscard__]] locale getloc() const;
-
- // 27.5.2.5 storage:
- [[__nodiscard__]] static int xalloc();
- [[__nodiscard__]] long& iword(int __index);
- [[__nodiscard__]] void*& pword(int __index);
-
- // destructor
- virtual ~ios_base();
-
- // 27.5.2.6 callbacks;
- enum event { erase_event, imbue_event, copyfmt_event };
- typedef void (*event_callback)(event, ios_base&, int __index);
- void register_callback(event_callback __fn, int __index);
-
- ios_base(const ios_base&) = delete;
- ios_base& operator=(const ios_base&) = delete;
-
- static bool sync_with_stdio(bool __sync = true);
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI iostate rdstate() const;
- void clear(iostate __state = goodbit);
- _LIBCPP_HIDE_FROM_ABI void setstate(iostate __state);
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool good() const;
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool eof() const;
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool fail() const;
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool bad() const;
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI iostate exceptions() const;
- _LIBCPP_HIDE_FROM_ABI void exceptions(iostate __iostate);
-
- void __set_badbit_and_consider_rethrow();
- void __set_failbit_and_consider_rethrow();
-
- _LIBCPP_HIDE_FROM_ABI void __setstate_nothrow(iostate __state) {
- if (__rdbuf_)
- __rdstate_ |= __state;
- else
- __rdstate_ |= __state | ios_base::badbit;
- }
-
-protected:
- _LIBCPP_HIDE_FROM_ABI ios_base() : __loc_(nullptr) {
- // Purposefully does no initialization
- //
- // Except for the locale, this is a sentinel to avoid destroying
- // an uninitialized object. See
- // test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
- // for the details.
- }
-
- void init(void* __sb);
- _LIBCPP_HIDE_FROM_ABI void* rdbuf() const { return __rdbuf_; }
-
- _LIBCPP_HIDE_FROM_ABI void rdbuf(void* __sb) {
- __rdbuf_ = __sb;
- clear();
- }
-
- void __call_callbacks(event);
- void copyfmt(const ios_base&);
- void move(ios_base&);
- void swap(ios_base&) _NOEXCEPT;
-
- _LIBCPP_HIDE_FROM_ABI void set_rdbuf(void* __sb) { __rdbuf_ = __sb; }
-
-private:
- // All data members must be scalars
- fmtflags __fmtflags_;
- streamsize __precision_;
- streamsize __width_;
- iostate __rdstate_;
- iostate __exceptions_;
- void* __rdbuf_;
- void* __loc_;
- event_callback* __fn_;
- int* __index_;
- size_t __event_size_;
- size_t __event_cap_;
-// TODO(EricWF): Enable this for both Clang and GCC. Currently it is only
-// enabled with clang.
-# if _LIBCPP_HAS_C_ATOMIC_IMP && _LIBCPP_HAS_THREADS
- static atomic<int> __xindex_;
-# else
- static int __xindex_;
-# endif
- long* __iarray_;
- size_t __iarray_size_;
- size_t __iarray_cap_;
- void** __parray_;
- size_t __parray_size_;
- size_t __parray_cap_;
-};
-
-// enum class io_errc
-_LIBCPP_DECLARE_STRONG_ENUM(io_errc){stream = 1};
-_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(io_errc)
-
-template <>
-struct is_error_code_enum<io_errc> : public true_type {};
-
-# ifdef _LIBCPP_CXX03_LANG
-template <>
-struct is_error_code_enum<io_errc::__lx> : public true_type {};
-# endif
-
-[[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI const error_category& iostream_category() _NOEXCEPT;
-
-[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI error_code make_error_code(io_errc __e) _NOEXCEPT {
- return error_code(static_cast<int>(__e), iostream_category());
-}
-
-[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI error_condition make_error_condition(io_errc __e) _NOEXCEPT {
- return error_condition(static_cast<int>(__e), iostream_category());
-}
-
-class _LIBCPP_EXPORTED_FROM_ABI ios_base::failure : public system_error {
-public:
- explicit failure(const string& __msg, const error_code& __ec = io_errc::stream);
- explicit failure(const char* __msg, const error_code& __ec = io_errc::stream);
- _LIBCPP_HIDE_FROM_ABI failure(const failure&) _NOEXCEPT = default;
- ~failure() _NOEXCEPT override;
-};
-
-[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_failure(char const* __msg) {
-# if _LIBCPP_HAS_EXCEPTIONS
- throw ios_base::failure(__msg);
-# else
- _LIBCPP_VERBOSE_ABORT("ios_base::failure was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-# endif
-}
-
-class _LIBCPP_EXPORTED_FROM_ABI ios_base::Init {
-public:
- Init();
- ~Init();
-};
-
-// fmtflags
-
-inline _LIBCPP_HIDE_FROM_ABI ios_base::fmtflags ios_base::flags() const { return __fmtflags_; }
-
-inline _LIBCPP_HIDE_FROM_ABI ios_base::fmtflags ios_base::flags(fmtflags __fmtfl) {
- fmtflags __r = __fmtflags_;
- __fmtflags_ = __fmtfl;
- return __r;
-}
-
-inline _LIBCPP_HIDE_FROM_ABI ios_base::fmtflags ios_base::setf(fmtflags __fmtfl) {
- fmtflags __r = __fmtflags_;
- __fmtflags_ |= __fmtfl;
- return __r;
-}
-
-inline _LIBCPP_HIDE_FROM_ABI void ios_base::unsetf(fmtflags __mask) { __fmtflags_ &= ~__mask; }
-
-inline _LIBCPP_HIDE_FROM_ABI ios_base::fmtflags ios_base::setf(fmtflags __fmtfl, fmtflags __mask) {
- fmtflags __r = __fmtflags_;
- unsetf(__mask);
- __fmtflags_ |= __fmtfl & __mask;
- return __r;
-}
-
-// precision
-
-inline _LIBCPP_HIDE_FROM_ABI streamsize ios_base::precision() const { return __precision_; }
-
-inline _LIBCPP_HIDE_FROM_ABI streamsize ios_base::precision(streamsize __prec) {
- streamsize __r = __precision_;
- __precision_ = __prec;
- return __r;
-}
-
-// width
-
-inline _LIBCPP_HIDE_FROM_ABI streamsize ios_base::width() const { return __width_; }
-
-inline _LIBCPP_HIDE_FROM_ABI streamsize ios_base::width(streamsize __wide) {
- streamsize __r = __width_;
- __width_ = __wide;
- return __r;
-}
-
-// iostate
-
-inline _LIBCPP_HIDE_FROM_ABI ios_base::iostate ios_base::rdstate() const { return __rdstate_; }
-
-inline _LIBCPP_HIDE_FROM_ABI void ios_base::setstate(iostate __state) { clear(__rdstate_ | __state); }
-
-inline _LIBCPP_HIDE_FROM_ABI bool ios_base::good() const { return __rdstate_ == 0; }
-
-inline _LIBCPP_HIDE_FROM_ABI bool ios_base::eof() const { return (__rdstate_ & eofbit) != 0; }
-
-inline _LIBCPP_HIDE_FROM_ABI bool ios_base::fail() const { return (__rdstate_ & (failbit | badbit)) != 0; }
-
-inline _LIBCPP_HIDE_FROM_ABI bool ios_base::bad() const { return (__rdstate_ & badbit) != 0; }
-
-inline _LIBCPP_HIDE_FROM_ABI ios_base::iostate ios_base::exceptions() const { return __exceptions_; }
-
-inline _LIBCPP_HIDE_FROM_ABI void ios_base::exceptions(iostate __iostate) {
- __exceptions_ = __iostate;
- clear(__rdstate_);
-}
-
-template <class _Traits>
-// Attribute 'packed' is used to keep the layout compatible with the previous
-// definition of the '__fill_' and '_set_' pair in basic_ios on AIX & z/OS.
-struct _LIBCPP_PACKED _FillHelper {
- _LIBCPP_HIDE_FROM_ABI void __init() {
- __set_ = false;
- __fill_val_ = _Traits::eof();
- }
- _LIBCPP_HIDE_FROM_ABI _FillHelper& operator=(typename _Traits::int_type __x) {
- __set_ = true;
- __fill_val_ = __x;
- return *this;
- }
- _LIBCPP_HIDE_FROM_ABI bool __is_set() const { return __set_; }
- _LIBCPP_HIDE_FROM_ABI typename _Traits::int_type __get() const { return __fill_val_; }
-
-private:
- typename _Traits::int_type __fill_val_;
- bool __set_;
-};
-
-template <class _Traits>
-struct _LIBCPP_PACKED _SentinelValueFill {
- _LIBCPP_HIDE_FROM_ABI void __init() { __fill_val_ = _Traits::eof(); }
- _LIBCPP_HIDE_FROM_ABI _SentinelValueFill& operator=(typename _Traits::int_type __x) {
- __fill_val_ = __x;
- return *this;
- }
- _LIBCPP_HIDE_FROM_ABI bool __is_set() const { return __fill_val_ != _Traits::eof(); }
- _LIBCPP_HIDE_FROM_ABI typename _Traits::int_type __get() const { return __fill_val_; }
-
-private:
- typename _Traits::int_type __fill_val_;
-};
-
-template <class _CharT, class _Traits>
-class basic_ios : public ios_base {
-public:
- // types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
-
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- static_assert(is_same<_CharT, typename traits_type::char_type>::value,
- "traits_type::char_type must be the same type as CharT");
-
-# ifdef _LIBCPP_CXX03_LANG
- // Preserve the ability to compare with literal 0,
- // and implicitly convert to bool, but not implicitly convert to int.
- _LIBCPP_HIDE_FROM_ABI operator void*() const { return fail() ? nullptr : (void*)this; }
-# else
- _LIBCPP_HIDE_FROM_ABI explicit operator bool() const { return !fail(); }
-# endif
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool operator!() const { return fail(); }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI iostate rdstate() const { return ios_base::rdstate(); }
- _LIBCPP_HIDE_FROM_ABI void clear(iostate __state = goodbit) { ios_base::clear(__state); }
- _LIBCPP_HIDE_FROM_ABI void setstate(iostate __state) { ios_base::setstate(__state); }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool good() const { return ios_base::good(); }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool eof() const { return ios_base::eof(); }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool fail() const { return ios_base::fail(); }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool bad() const { return ios_base::bad(); }
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI iostate exceptions() const { return ios_base::exceptions(); }
- _LIBCPP_HIDE_FROM_ABI void exceptions(iostate __iostate) { ios_base::exceptions(__iostate); }
-
- // 27.5.4.1 Constructor/destructor:
- _LIBCPP_HIDE_FROM_ABI explicit basic_ios(basic_streambuf<char_type, traits_type>* __sb);
- ~basic_ios() override;
-
- // 27.5.4.2 Members:
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI basic_ostream<char_type, traits_type>* tie() const;
- _LIBCPP_HIDE_FROM_ABI basic_ostream<char_type, traits_type>* tie(basic_ostream<char_type, traits_type>* __tiestr);
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI basic_streambuf<char_type, traits_type>* rdbuf() const;
- _LIBCPP_HIDE_FROM_ABI basic_streambuf<char_type, traits_type>* rdbuf(basic_streambuf<char_type, traits_type>* __sb);
-
- basic_ios& copyfmt(const basic_ios& __rhs);
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI char_type fill() const;
- _LIBCPP_HIDE_FROM_ABI char_type fill(char_type __ch);
-
- _LIBCPP_HIDE_FROM_ABI locale imbue(const locale& __loc);
-
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI char narrow(char_type __c, char __dfault) const;
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI char_type widen(char __c) const;
-
-protected:
- _LIBCPP_HIDE_FROM_ABI basic_ios() {
- // purposefully does no initialization
- // since the destructor does nothing this does not have ios_base issues.
- }
- _LIBCPP_HIDE_FROM_ABI void init(basic_streambuf<char_type, traits_type>* __sb);
-
- _LIBCPP_HIDE_FROM_ABI void move(basic_ios& __rhs);
- _LIBCPP_HIDE_FROM_ABI void move(basic_ios&& __rhs) { move(__rhs); }
- _LIBCPP_HIDE_FROM_ABI void swap(basic_ios& __rhs) _NOEXCEPT;
- _LIBCPP_HIDE_FROM_ABI void set_rdbuf(basic_streambuf<char_type, traits_type>* __sb);
-
-private:
- basic_ostream<char_type, traits_type>* __tie_;
-
-# if defined(_LIBCPP_ABI_IOS_ALLOW_ARBITRARY_FILL_VALUE)
- using _FillType _LIBCPP_NODEBUG = _FillHelper<traits_type>;
-# else
- using _FillType _LIBCPP_NODEBUG = _SentinelValueFill<traits_type>;
-# endif
- mutable _FillType __fill_;
-};
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI basic_ios<_CharT, _Traits>::basic_ios(basic_streambuf<char_type, traits_type>* __sb) {
- init(__sb);
-}
-
-template <class _CharT, class _Traits>
-basic_ios<_CharT, _Traits>::~basic_ios() {}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI void basic_ios<_CharT, _Traits>::init(basic_streambuf<char_type, traits_type>* __sb) {
- ios_base::init(__sb);
- __tie_ = nullptr;
- __fill_.__init();
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>* basic_ios<_CharT, _Traits>::tie() const {
- return __tie_;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>*
-basic_ios<_CharT, _Traits>::tie(basic_ostream<char_type, traits_type>* __tiestr) {
- basic_ostream<char_type, traits_type>* __r = __tie_;
- __tie_ = __tiestr;
- return __r;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI basic_streambuf<_CharT, _Traits>* basic_ios<_CharT, _Traits>::rdbuf() const {
- return static_cast<basic_streambuf<char_type, traits_type>*>(ios_base::rdbuf());
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI basic_streambuf<_CharT, _Traits>*
-basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<char_type, traits_type>* __sb) {
- basic_streambuf<char_type, traits_type>* __r = rdbuf();
- ios_base::rdbuf(__sb);
- return __r;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI locale basic_ios<_CharT, _Traits>::imbue(const locale& __loc) {
- locale __r = getloc();
- ios_base::imbue(__loc);
- if (rdbuf())
- rdbuf()->pubimbue(__loc);
- return __r;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI char basic_ios<_CharT, _Traits>::narrow(char_type __c, char __dfault) const {
- return std::use_facet<ctype<char_type> >(getloc()).narrow(__c, __dfault);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI _CharT basic_ios<_CharT, _Traits>::widen(char __c) const {
- return std::use_facet<ctype<char_type> >(getloc()).widen(__c);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI _CharT basic_ios<_CharT, _Traits>::fill() const {
- if (!__fill_.__is_set())
- __fill_ = widen(' ');
- return __fill_.__get();
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI _CharT basic_ios<_CharT, _Traits>::fill(char_type __ch) {
- if (!__fill_.__is_set())
- __fill_ = widen(' ');
- char_type __r = __fill_.__get();
- __fill_ = __ch;
- return __r;
-}
-
-template <class _CharT, class _Traits>
-basic_ios<_CharT, _Traits>& basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) {
- if (this != std::addressof(__rhs)) {
- __call_callbacks(erase_event);
- ios_base::copyfmt(__rhs);
- __tie_ = __rhs.__tie_;
- __fill_ = __rhs.__fill_;
- __call_callbacks(copyfmt_event);
- exceptions(__rhs.exceptions());
- }
- return *this;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI void basic_ios<_CharT, _Traits>::move(basic_ios& __rhs) {
- ios_base::move(__rhs);
- __tie_ = __rhs.__tie_;
- __rhs.__tie_ = nullptr;
- __fill_ = __rhs.__fill_;
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI void basic_ios<_CharT, _Traits>::swap(basic_ios& __rhs) _NOEXCEPT {
- ios_base::swap(__rhs);
- std::swap(__tie_, __rhs.__tie_);
- std::swap(__fill_, __rhs.__fill_);
-}
-
-template <class _CharT, class _Traits>
-inline _LIBCPP_HIDE_FROM_ABI void basic_ios<_CharT, _Traits>::set_rdbuf(basic_streambuf<char_type, traits_type>* __sb) {
- ios_base::set_rdbuf(__sb);
-}
-
-extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<char>;
-
-# if _LIBCPP_HAS_WIDE_CHARACTERS
-extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<wchar_t>;
-# endif
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& boolalpha(ios_base& __str) {
- __str.setf(ios_base::boolalpha);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& noboolalpha(ios_base& __str) {
- __str.unsetf(ios_base::boolalpha);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& showbase(ios_base& __str) {
- __str.setf(ios_base::showbase);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& noshowbase(ios_base& __str) {
- __str.unsetf(ios_base::showbase);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& showpoint(ios_base& __str) {
- __str.setf(ios_base::showpoint);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& noshowpoint(ios_base& __str) {
- __str.unsetf(ios_base::showpoint);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& showpos(ios_base& __str) {
- __str.setf(ios_base::showpos);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& noshowpos(ios_base& __str) {
- __str.unsetf(ios_base::showpos);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& skipws(ios_base& __str) {
- __str.setf(ios_base::skipws);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& noskipws(ios_base& __str) {
- __str.unsetf(ios_base::skipws);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& uppercase(ios_base& __str) {
- __str.setf(ios_base::uppercase);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& nouppercase(ios_base& __str) {
- __str.unsetf(ios_base::uppercase);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& unitbuf(ios_base& __str) {
- __str.setf(ios_base::unitbuf);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& nounitbuf(ios_base& __str) {
- __str.unsetf(ios_base::unitbuf);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& internal(ios_base& __str) {
- __str.setf(ios_base::internal, ios_base::adjustfield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& left(ios_base& __str) {
- __str.setf(ios_base::left, ios_base::adjustfield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& right(ios_base& __str) {
- __str.setf(ios_base::right, ios_base::adjustfield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& dec(ios_base& __str) {
- __str.setf(ios_base::dec, ios_base::basefield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& hex(ios_base& __str) {
- __str.setf(ios_base::hex, ios_base::basefield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& oct(ios_base& __str) {
- __str.setf(ios_base::oct, ios_base::basefield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& fixed(ios_base& __str) {
- __str.setf(ios_base::fixed, ios_base::floatfield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& scientific(ios_base& __str) {
- __str.setf(ios_base::scientific, ios_base::floatfield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& hexfloat(ios_base& __str) {
- __str.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
- return __str;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline ios_base& defaultfloat(ios_base& __str) {
- __str.unsetf(ios_base::floatfield);
- return __str;
-}
-
-_LIBCPP_END_NAMESPACE_STD
-
-_LIBCPP_POP_MACROS
-
-# endif // _LIBCPP_HAS_LOCALIZATION
-
-# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstddef>
-# include <cstdlib>
-# include <cstring>
-# include <initializer_list>
-# include <limits>
-# include <mutex>
-# include <new>
-# include <optional>
-# include <stdexcept>
-# include <system_error>
-# include <type_traits>
-# include <typeinfo>
-# endif
-#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
-
-#endif // _LIBCPP_IOS