mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-30 16:28:30 +00:00
Release Cosmopolitan v3.6.0
This release is an atomic upgrade to GCC 14.1.0 with C23 and C++23
This commit is contained in:
parent
62ace3623a
commit
5660ec4741
1585 changed files with 117353 additions and 271644 deletions
96
third_party/libcxx/iosfwd
vendored
96
third_party/libcxx/iosfwd
vendored
|
@ -25,7 +25,6 @@ template<> struct char_traits<wchar_t>;
|
|||
|
||||
template<class T> class allocator;
|
||||
|
||||
class ios_base;
|
||||
template <class charT, class traits = char_traits<charT> > class basic_ios;
|
||||
|
||||
template <class charT, class traits = char_traits<charT> > class basic_streambuf;
|
||||
|
@ -90,15 +89,27 @@ using u8streampos = fpos<char_traits<char8_t>::state_type>; // C++20
|
|||
using u16streampos = fpos<char_traits<char16_t>::state_type>;
|
||||
using u32streampos = fpos<char_traits<char32_t>::state_type>;
|
||||
|
||||
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT>>
|
||||
class basic_syncbuf; // C++20
|
||||
|
||||
using syncbuf = basic_syncbuf<char>; // C++20
|
||||
using wsyncbuf = basic_syncbuf<wchar_t>; // C++20
|
||||
|
||||
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT>>
|
||||
class basic_osyncstream; // C++20
|
||||
|
||||
using osyncstream = basic_osyncstream<char>; // C++20
|
||||
using wosyncstream = basic_osyncstream<wchar_t>; // C++20
|
||||
|
||||
} // std
|
||||
|
||||
*/
|
||||
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__config>
|
||||
#include <__fwd/fstream.h>
|
||||
#include <__fwd/ios.h>
|
||||
#include <__fwd/istream.h>
|
||||
#include <__fwd/memory.h>
|
||||
#include <__fwd/ostream.h>
|
||||
#include <__fwd/sstream.h>
|
||||
#include <__fwd/streambuf.h>
|
||||
|
@ -112,51 +123,62 @@ using u32streampos = fpos<char_traits<char32_t>::state_type>;
|
|||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
class _LIBCPP_TYPE_VIS ios_base;
|
||||
|
||||
template <class _CharT, class _Traits = char_traits<_CharT> >
|
||||
class _LIBCPP_TEMPLATE_VIS istreambuf_iterator;
|
||||
class _LIBCPP_TEMPLATE_VIS istreambuf_iterator;
|
||||
template <class _CharT, class _Traits = char_traits<_CharT> >
|
||||
class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator;
|
||||
class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator;
|
||||
|
||||
template <class _State> class _LIBCPP_TEMPLATE_VIS fpos;
|
||||
typedef fpos<mbstate_t> streampos;
|
||||
typedef fpos<mbstate_t> wstreampos;
|
||||
#ifndef _LIBCPP_HAS_NO_CHAR8_T
|
||||
typedef fpos<mbstate_t> u8streampos;
|
||||
template <class _State>
|
||||
class _LIBCPP_TEMPLATE_VIS fpos;
|
||||
typedef fpos<mbstate_t> streampos;
|
||||
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
|
||||
typedef fpos<mbstate_t> wstreampos;
|
||||
#endif
|
||||
typedef fpos<mbstate_t> u16streampos;
|
||||
typedef fpos<mbstate_t> u32streampos;
|
||||
#ifndef _LIBCPP_HAS_NO_CHAR8_T
|
||||
typedef fpos<mbstate_t> u8streampos;
|
||||
#endif
|
||||
typedef fpos<mbstate_t> u16streampos;
|
||||
typedef fpos<mbstate_t> u32streampos;
|
||||
|
||||
// Include other forward declarations here
|
||||
template <class _Tp, class _Alloc = allocator<_Tp> >
|
||||
class _LIBCPP_TEMPLATE_VIS vector;
|
||||
#if _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
|
||||
|
||||
template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT>>
|
||||
class basic_syncbuf;
|
||||
|
||||
using syncbuf = basic_syncbuf<char>;
|
||||
# ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
|
||||
using wsyncbuf = basic_syncbuf<wchar_t>;
|
||||
# endif
|
||||
|
||||
template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT>>
|
||||
class basic_osyncstream;
|
||||
|
||||
using osyncstream = basic_osyncstream<char>;
|
||||
# ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
|
||||
using wosyncstream = basic_osyncstream<wchar_t>;
|
||||
# endif
|
||||
|
||||
#endif // _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
|
||||
|
||||
template <class _CharT, class _Traits>
|
||||
class __save_flags
|
||||
{
|
||||
typedef basic_ios<_CharT, _Traits> __stream_type;
|
||||
typedef typename __stream_type::fmtflags fmtflags;
|
||||
class __save_flags {
|
||||
typedef basic_ios<_CharT, _Traits> __stream_type;
|
||||
typedef typename __stream_type::fmtflags fmtflags;
|
||||
|
||||
__stream_type& __stream_;
|
||||
fmtflags __fmtflags_;
|
||||
_CharT __fill_;
|
||||
__stream_type& __stream_;
|
||||
fmtflags __fmtflags_;
|
||||
_CharT __fill_;
|
||||
|
||||
__save_flags(const __save_flags&);
|
||||
__save_flags& operator=(const __save_flags&);
|
||||
public:
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
explicit __save_flags(__stream_type& __stream)
|
||||
: __stream_(__stream),
|
||||
__fmtflags_(__stream.flags()),
|
||||
__fill_(__stream.fill())
|
||||
{}
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
~__save_flags()
|
||||
{
|
||||
__stream_.flags(__fmtflags_);
|
||||
__stream_.fill(__fill_);
|
||||
}
|
||||
__save_flags(const __save_flags&) = delete;
|
||||
__save_flags& operator=(const __save_flags&) = delete;
|
||||
|
||||
_LIBCPP_HIDE_FROM_ABI explicit __save_flags(__stream_type& __stream)
|
||||
: __stream_(__stream), __fmtflags_(__stream.flags()), __fill_(__stream.fill()) {}
|
||||
_LIBCPP_HIDE_FROM_ABI ~__save_flags() {
|
||||
__stream_.flags(__fmtflags_);
|
||||
__stream_.fill(__fill_);
|
||||
}
|
||||
};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue