diff options
author | Andrey Khalyavin <[email protected]> | 2022-02-10 16:46:29 +0300 |
---|---|---|
committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:46:29 +0300 |
commit | f773626848a7c7456803654292e716b83d69cc12 (patch) | |
tree | db052dfcf9134f492bdbb962cb6c16cea58e1ed3 /contrib/libs/cxxsupp/libcxx/include/iosfwd | |
parent | f43ab775d197d300eb67bd4497632b909cd7c2a5 (diff) |
Restoring authorship annotation for Andrey Khalyavin <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/iosfwd')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/include/iosfwd | 546 |
1 files changed, 273 insertions, 273 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/iosfwd b/contrib/libs/cxxsupp/libcxx/include/iosfwd index 477dd97260f..c678c28dcb4 100644 --- a/contrib/libs/cxxsupp/libcxx/include/iosfwd +++ b/contrib/libs/cxxsupp/libcxx/include/iosfwd @@ -1,291 +1,291 @@ -// -*- C++ -*- -//===--------------------------- iosfwd -----------------------------------===// -// +// -*- C++ -*- +//===--------------------------- iosfwd -----------------------------------===// +// // 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_IOSFWD -#define _LIBCPP_IOSFWD - -/* - iosfwd synopsis - -namespace std -{ - -template<class charT> struct char_traits; +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP_IOSFWD +#define _LIBCPP_IOSFWD + +/* + iosfwd synopsis + +namespace std +{ + +template<class charT> struct char_traits; template<> struct char_traits<char>; template<> struct char_traits<char8_t>; // C++20 template<> struct char_traits<char16_t>; template<> struct char_traits<char32_t>; 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; -template <class charT, class traits = char_traits<charT> > class basic_istream; -template <class charT, class traits = char_traits<charT> > class basic_ostream; -template <class charT, class traits = char_traits<charT> > class basic_iostream; - -template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > - class basic_stringbuf; -template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > - class basic_istringstream; -template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > - class basic_ostringstream; -template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > - class basic_stringstream; - -template <class charT, class traits = char_traits<charT> > class basic_filebuf; -template <class charT, class traits = char_traits<charT> > class basic_ifstream; -template <class charT, class traits = char_traits<charT> > class basic_ofstream; -template <class charT, class traits = char_traits<charT> > class basic_fstream; - -template <class charT, class traits = char_traits<charT> > class istreambuf_iterator; -template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator; - -typedef basic_ios<char> ios; -typedef basic_ios<wchar_t> wios; - -typedef basic_streambuf<char> streambuf; -typedef basic_istream<char> istream; -typedef basic_ostream<char> ostream; -typedef basic_iostream<char> iostream; - -typedef basic_stringbuf<char> stringbuf; -typedef basic_istringstream<char> istringstream; -typedef basic_ostringstream<char> ostringstream; -typedef basic_stringstream<char> stringstream; - -typedef basic_filebuf<char> filebuf; -typedef basic_ifstream<char> ifstream; -typedef basic_ofstream<char> ofstream; -typedef basic_fstream<char> fstream; - -typedef basic_streambuf<wchar_t> wstreambuf; -typedef basic_istream<wchar_t> wistream; -typedef basic_ostream<wchar_t> wostream; -typedef basic_iostream<wchar_t> wiostream; - -typedef basic_stringbuf<wchar_t> wstringbuf; -typedef basic_istringstream<wchar_t> wistringstream; -typedef basic_ostringstream<wchar_t> wostringstream; -typedef basic_stringstream<wchar_t> wstringstream; - -typedef basic_filebuf<wchar_t> wfilebuf; -typedef basic_ifstream<wchar_t> wifstream; -typedef basic_ofstream<wchar_t> wofstream; -typedef basic_fstream<wchar_t> wfstream; - -template <class state> class fpos; -using streampos = fpos<char_traits<char>::state_type>; -using wstreampos = fpos<char_traits<wchar_t>::state_type>; -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>; - -} // std - -*/ - -#include <__config> -#include <__mbstate_t.h> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -#pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -class _LIBCPP_TYPE_VIS ios_base; - -template<class _CharT> struct _LIBCPP_TEMPLATE_VIS char_traits; +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; +template <class charT, class traits = char_traits<charT> > class basic_istream; +template <class charT, class traits = char_traits<charT> > class basic_ostream; +template <class charT, class traits = char_traits<charT> > class basic_iostream; + +template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > + class basic_stringbuf; +template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > + class basic_istringstream; +template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > + class basic_ostringstream; +template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > + class basic_stringstream; + +template <class charT, class traits = char_traits<charT> > class basic_filebuf; +template <class charT, class traits = char_traits<charT> > class basic_ifstream; +template <class charT, class traits = char_traits<charT> > class basic_ofstream; +template <class charT, class traits = char_traits<charT> > class basic_fstream; + +template <class charT, class traits = char_traits<charT> > class istreambuf_iterator; +template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator; + +typedef basic_ios<char> ios; +typedef basic_ios<wchar_t> wios; + +typedef basic_streambuf<char> streambuf; +typedef basic_istream<char> istream; +typedef basic_ostream<char> ostream; +typedef basic_iostream<char> iostream; + +typedef basic_stringbuf<char> stringbuf; +typedef basic_istringstream<char> istringstream; +typedef basic_ostringstream<char> ostringstream; +typedef basic_stringstream<char> stringstream; + +typedef basic_filebuf<char> filebuf; +typedef basic_ifstream<char> ifstream; +typedef basic_ofstream<char> ofstream; +typedef basic_fstream<char> fstream; + +typedef basic_streambuf<wchar_t> wstreambuf; +typedef basic_istream<wchar_t> wistream; +typedef basic_ostream<wchar_t> wostream; +typedef basic_iostream<wchar_t> wiostream; + +typedef basic_stringbuf<wchar_t> wstringbuf; +typedef basic_istringstream<wchar_t> wistringstream; +typedef basic_ostringstream<wchar_t> wostringstream; +typedef basic_stringstream<wchar_t> wstringstream; + +typedef basic_filebuf<wchar_t> wfilebuf; +typedef basic_ifstream<wchar_t> wifstream; +typedef basic_ofstream<wchar_t> wofstream; +typedef basic_fstream<wchar_t> wfstream; + +template <class state> class fpos; +using streampos = fpos<char_traits<char>::state_type>; +using wstreampos = fpos<char_traits<wchar_t>::state_type>; +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>; + +} // std + +*/ + +#include <__config> +#include <__mbstate_t.h> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +#pragma GCC system_header +#endif + +_LIBCPP_BEGIN_NAMESPACE_STD + +class _LIBCPP_TYPE_VIS ios_base; + +template<class _CharT> struct _LIBCPP_TEMPLATE_VIS char_traits; template<> struct char_traits<char>; -#ifndef _LIBCPP_HAS_NO_CHAR8_T +#ifndef _LIBCPP_HAS_NO_CHAR8_T template<> struct char_traits<char8_t>; #endif template<> struct char_traits<char16_t>; template<> struct char_traits<char32_t>; -#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS +#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS template<> struct char_traits<wchar_t>; -#endif - -template<class _Tp> class _LIBCPP_TEMPLATE_VIS allocator; - -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_ios; - -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_streambuf; -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_istream; -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_ostream; -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_iostream; - -template <class _CharT, class _Traits = char_traits<_CharT>, - class _Allocator = allocator<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_stringbuf; -template <class _CharT, class _Traits = char_traits<_CharT>, - class _Allocator = allocator<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_istringstream; -template <class _CharT, class _Traits = char_traits<_CharT>, - class _Allocator = allocator<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_ostringstream; -template <class _CharT, class _Traits = char_traits<_CharT>, - class _Allocator = allocator<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_stringstream; - -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_filebuf; -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_ifstream; -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_ofstream; -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_fstream; - -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS istreambuf_iterator; -template <class _CharT, class _Traits = char_traits<_CharT> > - class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator; - -typedef basic_ios<char> ios; -#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS -typedef basic_ios<wchar_t> wios; -#endif - -typedef basic_streambuf<char> streambuf; -typedef basic_istream<char> istream; -typedef basic_ostream<char> ostream; -typedef basic_iostream<char> iostream; - -typedef basic_stringbuf<char> stringbuf; -typedef basic_istringstream<char> istringstream; -typedef basic_ostringstream<char> ostringstream; -typedef basic_stringstream<char> stringstream; - -typedef basic_filebuf<char> filebuf; -typedef basic_ifstream<char> ifstream; -typedef basic_ofstream<char> ofstream; -typedef basic_fstream<char> fstream; - -#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS -typedef basic_streambuf<wchar_t> wstreambuf; -typedef basic_istream<wchar_t> wistream; -typedef basic_ostream<wchar_t> wostream; -typedef basic_iostream<wchar_t> wiostream; - -typedef basic_stringbuf<wchar_t> wstringbuf; -typedef basic_istringstream<wchar_t> wistringstream; -typedef basic_ostringstream<wchar_t> wostringstream; -typedef basic_stringstream<wchar_t> wstringstream; - -typedef basic_filebuf<wchar_t> wfilebuf; -typedef basic_ifstream<wchar_t> wifstream; -typedef basic_ofstream<wchar_t> wofstream; -typedef basic_fstream<wchar_t> wfstream; -#endif - -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(ios) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wios)) basic_ios; - -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(streambuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstreambuf)) basic_streambuf; -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(istream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wistream)) basic_istream; -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(ostream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wostream)) basic_ostream; -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(iostream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wiostream)) basic_iostream; - -template <class _CharT, class _Traits, class _Allocator> - class _LIBCPP_PREFERRED_NAME(stringbuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstringbuf)) basic_stringbuf; -template <class _CharT, class _Traits, class _Allocator> - class _LIBCPP_PREFERRED_NAME(istringstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wistringstream)) basic_istringstream; -template <class _CharT, class _Traits, class _Allocator> - class _LIBCPP_PREFERRED_NAME(ostringstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wostringstream)) basic_ostringstream; -template <class _CharT, class _Traits, class _Allocator> - class _LIBCPP_PREFERRED_NAME(stringstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstringstream)) basic_stringstream; - -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(filebuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wfilebuf)) basic_filebuf; -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(ifstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wifstream)) basic_ifstream; -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(ofstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wofstream)) basic_ofstream; -template <class _CharT, class _Traits> - class _LIBCPP_PREFERRED_NAME(fstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wfstream)) basic_fstream; - -template <class _State> class _LIBCPP_TEMPLATE_VIS fpos; -typedef fpos<mbstate_t> streampos; -typedef fpos<mbstate_t> wstreampos; -#ifndef _LIBCPP_HAS_NO_CHAR8_T +#endif + +template<class _Tp> class _LIBCPP_TEMPLATE_VIS allocator; + +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_ios; + +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_streambuf; +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_istream; +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_ostream; +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_iostream; + +template <class _CharT, class _Traits = char_traits<_CharT>, + class _Allocator = allocator<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_stringbuf; +template <class _CharT, class _Traits = char_traits<_CharT>, + class _Allocator = allocator<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_istringstream; +template <class _CharT, class _Traits = char_traits<_CharT>, + class _Allocator = allocator<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_ostringstream; +template <class _CharT, class _Traits = char_traits<_CharT>, + class _Allocator = allocator<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_stringstream; + +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_filebuf; +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_ifstream; +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_ofstream; +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_fstream; + +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS istreambuf_iterator; +template <class _CharT, class _Traits = char_traits<_CharT> > + class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator; + +typedef basic_ios<char> ios; +#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS +typedef basic_ios<wchar_t> wios; +#endif + +typedef basic_streambuf<char> streambuf; +typedef basic_istream<char> istream; +typedef basic_ostream<char> ostream; +typedef basic_iostream<char> iostream; + +typedef basic_stringbuf<char> stringbuf; +typedef basic_istringstream<char> istringstream; +typedef basic_ostringstream<char> ostringstream; +typedef basic_stringstream<char> stringstream; + +typedef basic_filebuf<char> filebuf; +typedef basic_ifstream<char> ifstream; +typedef basic_ofstream<char> ofstream; +typedef basic_fstream<char> fstream; + +#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS +typedef basic_streambuf<wchar_t> wstreambuf; +typedef basic_istream<wchar_t> wistream; +typedef basic_ostream<wchar_t> wostream; +typedef basic_iostream<wchar_t> wiostream; + +typedef basic_stringbuf<wchar_t> wstringbuf; +typedef basic_istringstream<wchar_t> wistringstream; +typedef basic_ostringstream<wchar_t> wostringstream; +typedef basic_stringstream<wchar_t> wstringstream; + +typedef basic_filebuf<wchar_t> wfilebuf; +typedef basic_ifstream<wchar_t> wifstream; +typedef basic_ofstream<wchar_t> wofstream; +typedef basic_fstream<wchar_t> wfstream; +#endif + +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(ios) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wios)) basic_ios; + +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(streambuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstreambuf)) basic_streambuf; +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(istream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wistream)) basic_istream; +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(ostream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wostream)) basic_ostream; +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(iostream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wiostream)) basic_iostream; + +template <class _CharT, class _Traits, class _Allocator> + class _LIBCPP_PREFERRED_NAME(stringbuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstringbuf)) basic_stringbuf; +template <class _CharT, class _Traits, class _Allocator> + class _LIBCPP_PREFERRED_NAME(istringstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wistringstream)) basic_istringstream; +template <class _CharT, class _Traits, class _Allocator> + class _LIBCPP_PREFERRED_NAME(ostringstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wostringstream)) basic_ostringstream; +template <class _CharT, class _Traits, class _Allocator> + class _LIBCPP_PREFERRED_NAME(stringstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstringstream)) basic_stringstream; + +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(filebuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wfilebuf)) basic_filebuf; +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(ifstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wifstream)) basic_ifstream; +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(ofstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wofstream)) basic_ofstream; +template <class _CharT, class _Traits> + class _LIBCPP_PREFERRED_NAME(fstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wfstream)) basic_fstream; + +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; #endif -#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS -typedef fpos<mbstate_t> u16streampos; -typedef fpos<mbstate_t> u32streampos; -#endif - -#if defined(_NEWLIB_VERSION) -// On newlib, off_t is 'long int' -typedef long int streamoff; // for char_traits in <string> -#else -typedef long long streamoff; // for char_traits in <string> -#endif - -template <class _CharT, // for <stdexcept> - class _Traits = char_traits<_CharT>, - class _Allocator = allocator<_CharT> > - class _LIBCPP_TEMPLATE_VIS basic_string; -typedef basic_string<char, char_traits<char>, allocator<char> > string; -#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS -typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring; -#endif +#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS +typedef fpos<mbstate_t> u16streampos; +typedef fpos<mbstate_t> u32streampos; +#endif + +#if defined(_NEWLIB_VERSION) +// On newlib, off_t is 'long int' +typedef long int streamoff; // for char_traits in <string> +#else +typedef long long streamoff; // for char_traits in <string> +#endif + +template <class _CharT, // for <stdexcept> + class _Traits = char_traits<_CharT>, + class _Allocator = allocator<_CharT> > + class _LIBCPP_TEMPLATE_VIS basic_string; +typedef basic_string<char, char_traits<char>, allocator<char> > string; +#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS +typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring; +#endif typedef basic_string<char16_t, char_traits<char16_t>, allocator<char16_t> > u16string; - -template <class _CharT, class _Traits, class _Allocator> - class _LIBCPP_PREFERRED_NAME(string) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstring)) basic_string; - -// Include other forward declarations here -template <class _Tp, class _Alloc = allocator<_Tp> > -class _LIBCPP_TEMPLATE_VIS vector; - -template <class _CharT, class _Traits> -class __save_flags -{ - typedef basic_ios<_CharT, _Traits> __stream_type; - typedef typename __stream_type::fmtflags fmtflags; - - __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_); - } -}; - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP_IOSFWD + +template <class _CharT, class _Traits, class _Allocator> + class _LIBCPP_PREFERRED_NAME(string) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstring)) basic_string; + +// Include other forward declarations here +template <class _Tp, class _Alloc = allocator<_Tp> > +class _LIBCPP_TEMPLATE_VIS vector; + +template <class _CharT, class _Traits> +class __save_flags +{ + typedef basic_ios<_CharT, _Traits> __stream_type; + typedef typename __stream_type::fmtflags fmtflags; + + __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_); + } +}; + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP_IOSFWD |