3 // { dg-options "-O2 -g --param=large-stack-frame-growth=1" }
5 template <typename _Iterator>
8 typedef _Iterator iterator_type;
10 template <typename _CharT>
12 template <typename _CharT>
13 struct basic_ostringstream;
14 template <typename _CharT>
15 struct ostreambuf_iterator;
16 typedef basic_ostringstream <char>ostringstream;
17 template <typename _Iterator> struct _Miter_base : _Iter_base <_Iterator>
20 template <typename _Iterator>
21 typename _Miter_base <_Iterator>::iterator_type __miter_base (_Iterator);
22 template <typename _CharT>
23 ostreambuf_iterator <_CharT>
24 __copy_move_a2 (ostreambuf_iterator <_CharT>);
25 template <typename _II, typename _OI>
26 _OI copy (_II __first, _II __last, _OI __result)
28 __copy_move_a2 <false> (__first, __miter_base (__last), __result);
35 _Words _M_local_word[8];
37 template <typename _CharT>
38 struct basic_streambuf
40 typedef _CharT char_type;
41 int sputn (char_type *, int);
43 template <typename _CharT>
44 struct ostreambuf_iterator
46 typedef basic_streambuf <_CharT> streambuf_type;
47 typedef basic_ostream <_CharT> ostream_type;
48 streambuf_type *_M_sbuf;
50 ostreambuf_iterator (ostream_type __s) : _M_sbuf (__s.rdbuf ()), _M_failed () {}
51 void _M_put (_CharT * __ws, int __len)
53 if (_M_failed && _M_sbuf->sputn (__ws, __len) != __len) _M_failed = true;
56 template <bool, typename _CharT>
57 void __copy_move_a2 (_CharT * __first,_CharT * __last,ostreambuf_iterator <_CharT> __result)
59 int __num = __last - __first;
60 __result._M_put (__first, __num);
62 template <typename _CharT>
63 struct basic_ios : ios_base
65 basic_streambuf <_CharT> *rdbuf ();
67 template <typename _CharT>
68 struct basic_ostream : public basic_ios <_CharT>
71 template <typename _CharT>
72 struct basic_ostringstream : public basic_ostream <_CharT>
80 ostreambuf_iterator <char> out1 (oss1);
81 out1 = copy (beg1, beg1, out1);