]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc
linux.S: Fix typo.
[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
8de6a6df 23#include <istream>
8de6a6df
KG
24#include <sstream>
25#include <locale>
26#include <testsuite_hooks.h>
27
28std::string str_01;
29std::string str_02("true false 0 1 110001");
30std::string str_03("-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5");
31std::string str_04("0123");
32
33std::stringbuf isbuf_01(std::ios_base::in);
34std::stringbuf isbuf_02(str_02, std::ios_base::in);
35std::stringbuf isbuf_03(str_03, std::ios_base::in);
36std::stringbuf isbuf_04(str_04, std::ios_base::in);
37
38std::istream is_01(NULL);
39std::istream is_02(&isbuf_02);
40std::istream is_03(&isbuf_03);
41std::istream is_04(&isbuf_04);
42std::stringstream ss_01(str_01);
43
44// elaborated test for ints
45bool test02() {
46
11f10e6b 47 bool test __attribute__((unused)) = true;
8de6a6df
KG
48 const std::string str_01("20000AB");
49 std::stringbuf strb_01(str_01, std::ios_base::in);
50 std::istream is(&strb_01);
51
52 int n = 15;
53 is >> n;
54 VERIFY( n == 20000 );
55 char c = is.peek();
56 VERIFY( c == 65 );
8de6a6df
KG
57 return test;
58}
59
60int main()
61{
62 test02();
63 return 0;
64}