1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // UNSUPPORTED: c++98, c++03 11 12 // <sstream> 13 14 // template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > 15 // class basic_istringstream 16 17 // basic_istringstream(basic_istringstream&& rhs); 18 19 #include <sstream> 20 #include <cassert> 21 main()22int main() 23 { 24 { 25 std::istringstream ss0(" 123 456"); 26 std::istringstream ss(std::move(ss0)); 27 assert(ss.rdbuf() != 0); 28 assert(ss.good()); 29 assert(ss.str() == " 123 456"); 30 int i = 0; 31 ss >> i; 32 assert(i == 123); 33 ss >> i; 34 assert(i == 456); 35 } 36 { 37 std::wistringstream ss0(L" 123 456"); 38 std::wistringstream ss(std::move(ss0)); 39 assert(ss.rdbuf() != 0); 40 assert(ss.good()); 41 assert(ss.str() == L" 123 456"); 42 int i = 0; 43 ss >> i; 44 assert(i == 123); 45 ss >> i; 46 assert(i == 456); 47 } 48 } 49