1 //===----------------------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef _LIBCPP___FWD_SSTREAM_H 10 #define _LIBCPP___FWD_SSTREAM_H 11 12 #include <__config> 13 #include <__fwd/string.h> 14 15 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 16 # pragma GCC system_header 17 #endif 18 19 _LIBCPP_BEGIN_NAMESPACE_STD 20 21 template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 22 class _LIBCPP_TEMPLATE_VIS basic_stringbuf; 23 24 template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 25 class _LIBCPP_TEMPLATE_VIS basic_istringstream; 26 template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 27 class _LIBCPP_TEMPLATE_VIS basic_ostringstream; 28 template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 29 class _LIBCPP_TEMPLATE_VIS basic_stringstream; 30 31 using stringbuf = basic_stringbuf<char>; 32 using istringstream = basic_istringstream<char>; 33 using ostringstream = basic_ostringstream<char>; 34 using stringstream = basic_stringstream<char>; 35 36 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 37 using wstringbuf = basic_stringbuf<wchar_t>; 38 using wistringstream = basic_istringstream<wchar_t>; 39 using wostringstream = basic_ostringstream<wchar_t>; 40 using wstringstream = basic_stringstream<wchar_t>; 41 #endif 42 43 template <class _CharT, class _Traits, class _Allocator> 44 class _LIBCPP_PREFERRED_NAME(stringbuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstringbuf)) basic_stringbuf; 45 template <class _CharT, class _Traits, class _Allocator> 46 class _LIBCPP_PREFERRED_NAME(istringstream) 47 _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wistringstream)) basic_istringstream; 48 template <class _CharT, class _Traits, class _Allocator> 49 class _LIBCPP_PREFERRED_NAME(ostringstream) 50 _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wostringstream)) basic_ostringstream; 51 template <class _CharT, class _Traits, class _Allocator> 52 class _LIBCPP_PREFERRED_NAME(stringstream) 53 _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstringstream)) basic_stringstream; 54 55 _LIBCPP_END_NAMESPACE_STD 56 57 #endif // _LIBCPP___FWD_SSTREAM_H 58