3 // Copyright (C) 1994, 1999, 2000 Free Software Foundation, Inc.
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 2, or (at your option)
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
21 // 27.6.2.7 standard basic_ostream manipulators
34 const char str_lit01[] = " venice ";
35 const std::string str01(" santa barbara ");
36 std::string str02(str_lit01);
39 std::ios_base::iostate flag1, flag2, flag3, flag4, flag5;
41 // template<_CharT, _Traits>
42 // basic_ostream<_CharT, _Traits>& endl(basic_ostream<_Char, _Traits>& os)
43 std::ostringstream oss01(str01);
44 std::ostringstream oss02;
45 std::ostringstream::int_type i01, i02;
46 typedef std::ostringstream::traits_type traits_type;
50 test &= str04.size() == str01.size();
54 test &= str05.size() == 1;
56 // template<_CharT, _Traits>
57 // basic_ostream<_CharT, _Traits>& ends(basic_ostream<_Char, _Traits>& os)
60 test &= str04.size() == str01.size();
61 test &= str04[1] == char();
65 test &= str05.size() == 2;
66 test &= str05[1] == char();
68 // template<_CharT, _Traits>
69 // basic_ostream<_CharT, _Traits>& flush(basic_ostream<_Char, _Traits>& os)
72 test &= str04.size() == str01.size();
76 test &= str05.size() == 2;
85 // based vaguely on this:
86 // http://sourceware.cygnus.com/ml/libstdc++/2000-q2/msg00109.html
90 typedef ostringstream::int_type int_type;
93 ostringstream osst_01;
94 const string str_00("herbie_hancock");
95 int_type len1 = str_00.size();
97 test &= osst_01.str().size() == len1;
101 const string str_01("speak like a child");
102 int_type len2 = str_01.size();
104 int_type len3 = osst_01.str().size();
106 test &= len3 == len1 + len2 + 1;
110 const string str_02("+ inventions and dimensions");
111 int_type len4 = str_02.size();
113 int_type len5 = osst_01.str().size();
115 test &= len5 == len3 + len4 + 1;