177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner/*
277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Copyright (c) 1997-1999
377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Silicon Graphics Computer Systems, Inc.
477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Copyright (c) 1999
677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Boris Fomitchev
777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * This material is provided "as is", with absolutely no warranty expressed
977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * or implied. Any use is at your own risk.
1077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
1177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Permission to use or copy this software for any purpose is hereby granted
1277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * without fee, provided the above notices are retained on all copies.
1377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Permission to modify the code and to distribute modified code is granted,
1477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * provided the above notices are retained, and a notice that the code was
1577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * modified is included with the above copyright notice.
1677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
1777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner */
1877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
1977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_STRING_IO_H
2077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#define _STLP_STRING_IO_H
2177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
2277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_INTERNAL_OSTREAM_H
2377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_ostream.h>
2477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
2577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
2677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_INTERNAL_ISTREAM
2777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_istream.h>
2877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
2977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
3077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// I/O.
3177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_BEGIN_NAMESPACE
3277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
3377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnertemplate <class _CharT, class _Traits, class _Alloc>
3477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerbasic_ostream<_CharT, _Traits>& _STLP_CALL
3577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turneroperator<<(basic_ostream<_CharT, _Traits>& __os,
3677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner           const basic_string<_CharT,_Traits,_Alloc>& __s);
3777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
3877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_USE_TEMPLATE_EXPRESSION)
3977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
4077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnertemplate <class _CharT, class _Traits, class _Alloc, class _Left, class _Right, class _StorageDir>
4177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerbasic_ostream<_CharT, _Traits>& _STLP_CALL
4277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turneroperator<<(basic_ostream<_CharT, _Traits>& __os,
4377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner           const _STLP_PRIV __bstr_sum<_CharT, _Traits, _Alloc, _Left, _Right, _StorageDir>& __sum) {
4477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  basic_string<_CharT, _Traits, _Alloc> __tmp(__sum);
4577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  return __os << __tmp;
4677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner}
4777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
4877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif /* _STLP_USE_TEMPLATE_EXPRESSION */
4977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
5077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnertemplate <class _CharT, class _Traits, class _Alloc>
5177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerbasic_istream<_CharT, _Traits>&  _STLP_CALL
5277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turneroperator>>(basic_istream<_CharT, _Traits>& __is,
5377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner           basic_string<_CharT,_Traits,_Alloc>& __s);
5477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
5577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnertemplate <class _CharT, class _Traits, class _Alloc>
5677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerbasic_istream<_CharT, _Traits>& _STLP_CALL
5777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnergetline(basic_istream<_CharT, _Traits>& __is,
5877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner        basic_string<_CharT,_Traits,_Alloc>& __s,
5977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner        _CharT __delim);
6077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
6177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if !(defined (__BORLANDC__) && !defined (_STLP_USE_OWN_NAMESPACE))
6277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
6377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnertemplate <class _CharT, class _Traits, class _Alloc>
6477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerinline basic_istream<_CharT, _Traits>& _STLP_CALL
6577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnergetline(basic_istream<_CharT, _Traits>& __is,
6677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner        basic_string<_CharT,_Traits,_Alloc>& __s) {
6777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  return getline(__is, __s, __is.widen('\n'));
6877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner}
6977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
7077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
7177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_END_NAMESPACE
7277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
7377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if !defined (_STLP_LINK_TIME_INSTANTIATION)
7477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_string_io.c>
7577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
7677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
7777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif /* _STLP_STRING_IO_H */
78