]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc
tree-inline.c (remap_save_expr): Map new save_expr to identity rather than to error_m...
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 27_io / basic_istream / extractors_arithmetic / char / 02.cc
CommitLineData
8de6a6df
KG
1// 1999-04-12 bkoz
2
3// Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
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.6.1.2.2 arithmetic extractors
22
23#include <cstdio> // for printf
24#include <istream>
25#include <ostream>
26#include <sstream>
27#include <locale>
28#include <testsuite_hooks.h>
29
30std::string str_01;
31std::string str_02("true false 0 1 110001");
32std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
33std::string str_04("0123");
34
35std::stringbuf isbuf_01(std::ios_base::in);
36std::stringbuf isbuf_02(str_02, std::ios_base::in);
37std::stringbuf isbuf_03(str_03, std::ios_base::in);
38std::stringbuf isbuf_04(str_04, std::ios_base::in);
39
40std::istream is_01(NULL);
41std::istream is_02(&isbuf_02);
42std::istream is_03(&isbuf_03);
43std::istream is_04(&isbuf_04);
44std::stringstream ss_01(str_01);
45
46// elaborated test for ints
47bool test02() {
48
49 bool test = true;
50 const std::string str_01("20000AB");
51 std::stringbuf strb_01(str_01, std::ios_base::in);
52 std::istream is(&strb_01);
53
54 int n = 15;
55 is >> n;
56 VERIFY( n == 20000 );
57 char c = is.peek();
58 VERIFY( c == 65 );
8de6a6df
KG
59 return test;
60}
61
62int main()
63{
64 test02();
65 return 0;
66}