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 21template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 22class _LIBCPP_TEMPLATE_VIS basic_stringbuf; 23 24template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 25class _LIBCPP_TEMPLATE_VIS basic_istringstream; 26template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 27class _LIBCPP_TEMPLATE_VIS basic_ostringstream; 28template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > 29class _LIBCPP_TEMPLATE_VIS basic_stringstream; 30 31using stringbuf = basic_stringbuf<char>; 32using istringstream = basic_istringstream<char>; 33using ostringstream = basic_ostringstream<char>; 34using stringstream = basic_stringstream<char>; 35 36#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 37using wstringbuf = basic_stringbuf<wchar_t>; 38using wistringstream = basic_istringstream<wchar_t>; 39using wostringstream = basic_ostringstream<wchar_t>; 40using wstringstream = basic_stringstream<wchar_t>; 41#endif 42 43template <class _CharT, class _Traits, class _Allocator> 44class _LIBCPP_PREFERRED_NAME(stringbuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wstringbuf)) basic_stringbuf; 45template <class _CharT, class _Traits, class _Allocator> 46class _LIBCPP_PREFERRED_NAME(istringstream) 47 _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wistringstream)) basic_istringstream; 48template <class _CharT, class _Traits, class _Allocator> 49class _LIBCPP_PREFERRED_NAME(ostringstream) 50 _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wostringstream)) basic_ostringstream; 51template <class _CharT, class _Traits, class _Allocator> 52class _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