34# pragma GCC system_header
37#ifndef _RWSTD_RW_STRINGIO_H_INCLUDED
38#define _RWSTD_RW_STRINGIO_H_INCLUDED
45template<
class _CharT,
class _Traits,
class _Allocator>
46basic_istream<_CharT, _Traits>&
47operator>> (basic_istream<_CharT, _Traits>&,
48 basic_string<_CharT, _Traits, _Allocator>&);
52template<
class _CharT,
class _Traits,
class _Allocator>
53basic_istream<_CharT, _Traits>&
54getline (basic_istream<_CharT, _Traits>&,
55 basic_string<_CharT, _Traits, _Allocator>&,
59template<
class _CharT,
class _Traits,
class _Allocator>
60inline basic_istream<_CharT, _Traits>&
61getline (basic_istream<_CharT, _Traits>& __is,
62 basic_string<_CharT, _Traits, _Allocator>& __str);
65template<
class _CharT,
class _Traits,
class _Allocator>
66inline basic_ostream<_CharT, _Traits>&
68 const basic_string<_CharT, _Traits, _Allocator>&);
77#if !defined (_RWSTD_STRING_INSERTER_INCLUDED) \
78 && defined (_RWSTD_INCLUDE_STRING_INSERTER)
79# define _RWSTD_STRING_INSERTER_INCLUDED
83template<
class _CharT,
class _Traits,
class _Allocator>
84inline basic_ostream<_CharT, _Traits>&
85operator<< (basic_ostream<_CharT, _Traits>& __os,
86 const basic_string<_CharT, _Traits, _Allocator>& __str)
88 return _RW::__rw_insert (__os, __str.data (), __str.length (),
97#if !defined (_RWSTD_STRING_EXTRACTORS_INCLUDED) \
98 && defined (_RWSTD_INCLUDE_STRING_EXTRACTORS)
99# define _RWSTD_STRING_EXTRACTORS_INCLUDED
104template<
class _CharT,
class _Traits,
class _Allocator>
105inline basic_istream<_CharT, _Traits>&
106getline (basic_istream<_CharT, _Traits>& __is,
107 basic_string<_CharT, _Traits, _Allocator>& __str)
109 return getline (__is, __str, __is.widen (
'\n'));
115# if _RWSTD_DEFINE_TEMPLATE_FIRST (_BASIC_ISTREAM)
121# pragma warning (push)
122# pragma warning (disable: 4231)
128#if _RWSTD_INSTANTIATE (_BASIC_ISTREAM, _CHAR)
131 operator>> (istream&,
string&));
134 getline (istream&,
string&,
char));
138#if _RWSTD_INSTANTIATE (_BASIC_ISTREAM, _WCHAR_T)
141 operator>> (wistream&, wstring&));
144 getline (wistream&, wstring&,
wchar_t));
151# pragma warning (pop)
155# if _RWSTD_DEFINE_TEMPLATE_LAST (_BASIC_ISTREAM)
#define _RWSTD_NAMESPACE(name)
#define _RWSTD_INSTANTIATE_FUN_1(arg)
std::basic_ostream< Char > & operator<<(std::basic_ostream< Char > &lhs, node_type rhs)
Pretty-prints the value of a node_type to a stream.