Merge from mainline
[official-gcc.git] / libstdc++-v3 / testsuite / 27_io / basic_stringbuf / in_avail / char / 21955.cc
blob6c587dd2b997c7d8bd5aca6cc2335e695566332b
1 // 2005-06-07 Benjamin Kosnik
3 // Copyright (C) 2005, 2006
4 // Free Software Foundation, Inc.
5 //
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 2, or (at your option)
10 // any later version.
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING. If not, write to the Free
19 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20 // USA.
22 #include <sstream>
23 #include <testsuite_hooks.h>
24 #include <stdexcept>
26 double
27 test_stringstream()
29 double result;
30 const char* source = "1918";
31 std::stringstream s;
32 s << source;
34 std::string tmp = s.str();
35 std::streambuf* sb = s.rdbuf();
36 int i = sb->in_avail();
38 if (i)
40 s >> result;
42 else
44 throw std::runtime_error("conversion failed");
46 return result;
50 int main ()
52 test_stringstream();
53 return 0;