codekingpro/portable-devtools
114k
1// -*- C++ -*-2//===--------------------------- iosfwd -----------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCUDACXX_IOSFWD11#define _LIBCUDACXX_IOSFWD12 13/*14 iosfwd synopsis15 16namespace std17{18 19template<class charT> struct char_traits;20template<> struct char_traits<char>;21template<> struct char_traits<char8_t>; // C++2022template<> struct char_traits<char16_t>;23template<> struct char_traits<char32_t>;24template<> struct char_traits<wchar_t>;25 26template<class T> class allocator;27 28class ios_base;29template <class charT, class traits = char_traits<charT> > class basic_ios;30 31template <class charT, class traits = char_traits<charT> > class basic_streambuf;32template <class charT, class traits = char_traits<charT> > class basic_istream;33template <class charT, class traits = char_traits<charT> > class basic_ostream;34template <class charT, class traits = char_traits<charT> > class basic_iostream;35 36template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >37 class basic_stringbuf;38template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >39 class basic_istringstream;40template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >41 class basic_ostringstream;42template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >43 class basic_stringstream;44 45template <class charT, class traits = char_traits<charT> > class basic_filebuf;46template <class charT, class traits = char_traits<charT> > class basic_ifstream;47template <class charT, class traits = char_traits<charT> > class basic_ofstream;48template <class charT, class traits = char_traits<charT> > class basic_fstream;49 50template <class charT, class traits = char_traits<charT> > class istreambuf_iterator;51template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator;52 53typedef basic_ios<char> ios;54typedef basic_ios<wchar_t> wios;55 56typedef basic_streambuf<char> streambuf;57typedef basic_istream<char> istream;58typedef basic_ostream<char> ostream;59typedef basic_iostream<char> iostream;60 61typedef basic_stringbuf<char> stringbuf;62typedef basic_istringstream<char> istringstream;63typedef basic_ostringstream<char> ostringstream;64typedef basic_stringstream<char> stringstream;65 66typedef basic_filebuf<char> filebuf;67typedef basic_ifstream<char> ifstream;68typedef basic_ofstream<char> ofstream;69typedef basic_fstream<char> fstream;70 71typedef basic_streambuf<wchar_t> wstreambuf;72typedef basic_istream<wchar_t> wistream;73typedef basic_ostream<wchar_t> wostream;74typedef basic_iostream<wchar_t> wiostream;75 76typedef basic_stringbuf<wchar_t> wstringbuf;77typedef basic_istringstream<wchar_t> wistringstream;78typedef basic_ostringstream<wchar_t> wostringstream;79typedef basic_stringstream<wchar_t> wstringstream;80 81typedef basic_filebuf<wchar_t> wfilebuf;82typedef basic_ifstream<wchar_t> wifstream;83typedef basic_ofstream<wchar_t> wofstream;84typedef basic_fstream<wchar_t> wfstream;85 86template <class state> class fpos;87typedef fpos<char_traits<char>::state_type> streampos;88typedef fpos<char_traits<wchar_t>::state_type> wstreampos;89 90} // std91 92*/93 94#ifndef __cuda_std__95#include <__config>96#include <wchar.h> // for mbstate_t97#endif //__cuda_std__98 99#include "__assert" // all public C++ headers provide the assertion handler100#include "__fwd/string.h"101#include "version"102 103#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)104# pragma GCC system_header105#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)106# pragma clang system_header107#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)108# pragma system_header109#endif // no system header110 111_LIBCUDACXX_BEGIN_NAMESPACE_STD112 113class _LIBCUDACXX_TYPE_VIS ios_base;114 115template <class _CharT, class _Traits = char_traits<_CharT> >116 class _LIBCUDACXX_TEMPLATE_VIS basic_ios;117 118template <class _CharT, class _Traits = char_traits<_CharT> >119 class _LIBCUDACXX_TEMPLATE_VIS basic_streambuf;120template <class _CharT, class _Traits = char_traits<_CharT> >121 class _LIBCUDACXX_TEMPLATE_VIS basic_istream;122template <class _CharT, class _Traits = char_traits<_CharT> >123 class _LIBCUDACXX_TEMPLATE_VIS basic_ostream;124template <class _CharT, class _Traits = char_traits<_CharT> >125 class _LIBCUDACXX_TEMPLATE_VIS basic_iostream;126 127template <class _CharT, class _Traits = char_traits<_CharT>,128 class _Allocator = allocator<_CharT> >129 class _LIBCUDACXX_TEMPLATE_VIS basic_stringbuf;130template <class _CharT, class _Traits = char_traits<_CharT>,131 class _Allocator = allocator<_CharT> >132 class _LIBCUDACXX_TEMPLATE_VIS basic_istringstream;133template <class _CharT, class _Traits = char_traits<_CharT>,134 class _Allocator = allocator<_CharT> >135 class _LIBCUDACXX_TEMPLATE_VIS basic_ostringstream;136template <class _CharT, class _Traits = char_traits<_CharT>,137 class _Allocator = allocator<_CharT> >138 class _LIBCUDACXX_TEMPLATE_VIS basic_stringstream;139 140template <class _CharT, class _Traits = char_traits<_CharT> >141 class _LIBCUDACXX_TEMPLATE_VIS basic_filebuf;142template <class _CharT, class _Traits = char_traits<_CharT> >143 class _LIBCUDACXX_TEMPLATE_VIS basic_ifstream;144template <class _CharT, class _Traits = char_traits<_CharT> >145 class _LIBCUDACXX_TEMPLATE_VIS basic_ofstream;146template <class _CharT, class _Traits = char_traits<_CharT> >147 class _LIBCUDACXX_TEMPLATE_VIS basic_fstream;148 149template <class _CharT, class _Traits = char_traits<_CharT> >150 class _LIBCUDACXX_TEMPLATE_VIS istreambuf_iterator;151template <class _CharT, class _Traits = char_traits<_CharT> >152 class _LIBCUDACXX_TEMPLATE_VIS ostreambuf_iterator;153 154typedef basic_ios<char> ios;155typedef basic_ios<wchar_t> wios;156 157typedef basic_streambuf<char> streambuf;158typedef basic_istream<char> istream;159typedef basic_ostream<char> ostream;160typedef basic_iostream<char> iostream;161 162typedef basic_stringbuf<char> stringbuf;163typedef basic_istringstream<char> istringstream;164typedef basic_ostringstream<char> ostringstream;165typedef basic_stringstream<char> stringstream;166 167typedef basic_filebuf<char> filebuf;168typedef basic_ifstream<char> ifstream;169typedef basic_ofstream<char> ofstream;170typedef basic_fstream<char> fstream;171 172typedef basic_streambuf<wchar_t> wstreambuf;173typedef basic_istream<wchar_t> wistream;174typedef basic_ostream<wchar_t> wostream;175typedef basic_iostream<wchar_t> wiostream;176 177typedef basic_stringbuf<wchar_t> wstringbuf;178typedef basic_istringstream<wchar_t> wistringstream;179typedef basic_ostringstream<wchar_t> wostringstream;180typedef basic_stringstream<wchar_t> wstringstream;181 182typedef basic_filebuf<wchar_t> wfilebuf;183typedef basic_ifstream<wchar_t> wifstream;184typedef basic_ofstream<wchar_t> wofstream;185typedef basic_fstream<wchar_t> wfstream;186 187#if !defined(_LIBCUDACXX_HAS_NO_WCHAR_H)188template <class _State> class _LIBCUDACXX_TEMPLATE_VIS fpos;189typedef fpos<mbstate_t> streampos;190typedef fpos<mbstate_t> wstreampos;191#ifndef _LIBCUDACXX_NO_HAS_CHAR8_T192typedef fpos<mbstate_t> u8streampos;193#endif194#ifndef _LIBCUDACXX_HAS_NO_UNICODE_CHARS195typedef fpos<mbstate_t> u16streampos;196typedef fpos<mbstate_t> u32streampos;197#endif // _LIBCUDACXX_HAS_NO_UNICODE_CHARS198#endif199 200#if defined(_NEWLIB_VERSION)201// On newlib, off_t is 'long int'202typedef long int streamoff; // for char_traits in <string>203#else204typedef long long streamoff; // for char_traits in <string>205#endif206 207// Include other forward declarations here208template <class _Tp, class _Alloc = allocator<_Tp> >209class _LIBCUDACXX_TEMPLATE_VIS vector;210 211_LIBCUDACXX_END_NAMESPACE_STD212 213#endif // _LIBCUDACXX_IOSFWD214 