xref: /minix3/external/bsd/libc++/dist/libcxx/test/input.output/string.streams/stringstream.members/str.pass.cpp (revision 4684ddb6aab0b36791c8099bc705d6140b3d05d0)
1*4684ddb6SLionel Sambuc //===----------------------------------------------------------------------===//
2*4684ddb6SLionel Sambuc //
3*4684ddb6SLionel Sambuc //                     The LLVM Compiler Infrastructure
4*4684ddb6SLionel Sambuc //
5*4684ddb6SLionel Sambuc // This file is dual licensed under the MIT and the University of Illinois Open
6*4684ddb6SLionel Sambuc // Source Licenses. See LICENSE.TXT for details.
7*4684ddb6SLionel Sambuc //
8*4684ddb6SLionel Sambuc //===----------------------------------------------------------------------===//
9*4684ddb6SLionel Sambuc 
10*4684ddb6SLionel Sambuc // <sstream>
11*4684ddb6SLionel Sambuc 
12*4684ddb6SLionel Sambuc // template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
13*4684ddb6SLionel Sambuc // class basic_stringstream
14*4684ddb6SLionel Sambuc 
15*4684ddb6SLionel Sambuc // void str(const basic_string<charT,traits,Allocator>& str);
16*4684ddb6SLionel Sambuc 
17*4684ddb6SLionel Sambuc #include <sstream>
18*4684ddb6SLionel Sambuc #include <cassert>
19*4684ddb6SLionel Sambuc 
main()20*4684ddb6SLionel Sambuc int main()
21*4684ddb6SLionel Sambuc {
22*4684ddb6SLionel Sambuc     {
23*4684ddb6SLionel Sambuc         std::stringstream ss(" 123 456 ");
24*4684ddb6SLionel Sambuc         assert(ss.rdbuf() != 0);
25*4684ddb6SLionel Sambuc         assert(ss.good());
26*4684ddb6SLionel Sambuc         assert(ss.str() == " 123 456 ");
27*4684ddb6SLionel Sambuc         int i = 0;
28*4684ddb6SLionel Sambuc         ss >> i;
29*4684ddb6SLionel Sambuc         assert(i == 123);
30*4684ddb6SLionel Sambuc         ss >> i;
31*4684ddb6SLionel Sambuc         assert(i == 456);
32*4684ddb6SLionel Sambuc         ss << i << ' ' << 123;
33*4684ddb6SLionel Sambuc         assert(ss.str() == "456 1236 ");
34*4684ddb6SLionel Sambuc         ss.str("5466 89 ");
35*4684ddb6SLionel Sambuc         ss >> i;
36*4684ddb6SLionel Sambuc         assert(i == 5466);
37*4684ddb6SLionel Sambuc         ss >> i;
38*4684ddb6SLionel Sambuc         assert(i == 89);
39*4684ddb6SLionel Sambuc         ss << i << ' ' << 321;
40*4684ddb6SLionel Sambuc         assert(ss.str() == "89 3219 ");
41*4684ddb6SLionel Sambuc     }
42*4684ddb6SLionel Sambuc     {
43*4684ddb6SLionel Sambuc         std::wstringstream ss(L" 123 456 ");
44*4684ddb6SLionel Sambuc         assert(ss.rdbuf() != 0);
45*4684ddb6SLionel Sambuc         assert(ss.good());
46*4684ddb6SLionel Sambuc         assert(ss.str() == L" 123 456 ");
47*4684ddb6SLionel Sambuc         int i = 0;
48*4684ddb6SLionel Sambuc         ss >> i;
49*4684ddb6SLionel Sambuc         assert(i == 123);
50*4684ddb6SLionel Sambuc         ss >> i;
51*4684ddb6SLionel Sambuc         assert(i == 456);
52*4684ddb6SLionel Sambuc         ss << i << ' ' << 123;
53*4684ddb6SLionel Sambuc         assert(ss.str() == L"456 1236 ");
54*4684ddb6SLionel Sambuc         ss.str(L"5466 89 ");
55*4684ddb6SLionel Sambuc         ss >> i;
56*4684ddb6SLionel Sambuc         assert(i == 5466);
57*4684ddb6SLionel Sambuc         ss >> i;
58*4684ddb6SLionel Sambuc         assert(i == 89);
59*4684ddb6SLionel Sambuc         ss << i << ' ' << 321;
60*4684ddb6SLionel Sambuc         assert(ss.str() == L"89 3219 ");
61*4684ddb6SLionel Sambuc     }
62*4684ddb6SLionel Sambuc }
63