]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 27_io / ios_base / callbacks / 1.cc
CommitLineData
b2dad0e3
BK
1// 1999-11-10 bkoz
2
83ffe9cd 3// Copyright (C) 1999-2023 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
748086b7 8// Free Software Foundation; either version 3, or (at your option)
b2dad0e3
BK
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
748086b7
JJ
17// with this library; see the file COPYING3. If not see
18// <http://www.gnu.org/licenses/>.
b2dad0e3
BK
19
20// 27.4.2.6 ios_base callbacks
21
22#include <string>
23#include <sstream>
fe413112 24#include <testsuite_hooks.h>
b2dad0e3
BK
25
26const std::string str01("the nubians of plutonia");
27std::string str02;
28
29void
11f10e6b 30callb01(std::ios_base::event, std::ios_base&, int)
b2dad0e3
BK
31{ str02 += "the nubians"; }
32
33void
11f10e6b 34callb02(std::ios_base::event, std::ios_base&, int)
b2dad0e3
BK
35{ str02 += " of "; }
36
37void
11f10e6b 38callb03(std::ios_base::event, std::ios_base&, int)
b2dad0e3
BK
39{ str02 += "plutonia"; }
40
23cac885 41void test01()
b2dad0e3 42{
213c2316 43 std::locale loc("C");
b2dad0e3
BK
44 std::stringbuf strbuf01;
45 std::ios ios01(&strbuf01);
46
47 ios01.register_callback(callb03, 1);
48 ios01.register_callback(callb02, 1);
49 ios01.register_callback(callb01, 1);
213c2316 50 ios01.imbue(loc);
aa1b2f7d 51 VERIFY( str01 == str02 );
b2dad0e3
BK
52}
53
54
55int main(void)
56{
57 test01();
b2dad0e3
BK
58 return 0;
59}
213c2316 60