]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
locale_facets.tcc: Tweak to avoid warnings.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 27_io / ios_base / callbacks / 1.cc
CommitLineData
b2dad0e3
BK
1// 1999-11-10 bkoz
2
23cac885 3// Copyright (C) 1999, 2003 Free Software Foundation, Inc.
b2dad0e3
BK
4//
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)
9// any later version.
10
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.
15
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,
19// USA.
20
21// 27.4.2.6 ios_base callbacks
22
23#include <string>
24#include <sstream>
fe413112 25#include <testsuite_hooks.h>
b2dad0e3
BK
26
27const std::string str01("the nubians of plutonia");
28std::string str02;
29
30void
11f10e6b 31callb01(std::ios_base::event, std::ios_base&, int)
b2dad0e3
BK
32{ str02 += "the nubians"; }
33
34void
11f10e6b 35callb02(std::ios_base::event, std::ios_base&, int)
b2dad0e3
BK
36{ str02 += " of "; }
37
38void
11f10e6b 39callb03(std::ios_base::event, std::ios_base&, int)
b2dad0e3
BK
40{ str02 += "plutonia"; }
41
23cac885 42void test01()
b2dad0e3 43{
11f10e6b 44 bool test __attribute__((unused)) = true;
213c2316 45 std::locale loc("C");
b2dad0e3
BK
46 std::stringbuf strbuf01;
47 std::ios ios01(&strbuf01);
48
49 ios01.register_callback(callb03, 1);
50 ios01.register_callback(callb02, 1);
51 ios01.register_callback(callb01, 1);
213c2316 52 ios01.imbue(loc);
aa1b2f7d 53 VERIFY( str01 == str02 );
b2dad0e3
BK
54}
55
56
57int main(void)
58{
59 test01();
b2dad0e3
BK
60 return 0;
61}
213c2316 62