1710632d07b13609444626367bebd34c0af3acb6aMikhail Glushenkov//===----------------------------------------------------------------------===// 26091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer// 36091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer// The LLVM Compiler Infrastructure 46091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer// 57ed47a13356daed2a34cd2209a31f92552e3bdd8Chris Lattner// This file is dual licensed under the MIT and the University of Illinois Open 67ed47a13356daed2a34cd2209a31f92552e3bdd8Chris Lattner// Source Licenses. See LICENSE.TXT for details. 76091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer// 86091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer//===----------------------------------------------------------------------===// 927107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling 1027107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling// <sstream> 1127107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling 1227107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling// template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > 1327107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling// class basic_stringbuf 146091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer 156091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer// void swap(basic_stringbuf& rhs); 16674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak 17674be02d525d4e24bc6943ed9274958c580bcfbcJakub Staszak#include <sstream> 186091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer#include <cassert> 19d509d0b532ec2358b3f341d4a4cd1411cb8b5db2Chris Lattner 200319888773b36dd61d7d2283cb9a26cac1e5abe8Bill Wendlingint main() 2122bd64173981bf1251c4b3bfc684207340534ba3Bill Wendling{ 2222bd64173981bf1251c4b3bfc684207340534ba3Bill Wendling { 2358d74910c6b82e622ecbb57d6644d48fec5a5c0fChris Lattner std::stringbuf buf1("testing"); 246091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer std::stringbuf buf; 256091ebd172a16a10f1ea66061a5fa7cbf5139e56Reid Spencer buf.swap(buf1); 26d426a642a23a234547cbc7061f5bfec157673249Bill Wendling assert(buf.str() == "testing"); 27702cc91aa1bd41540e8674921ae7ac89a4ff061fBill Wendling assert(buf1.str() == ""); 28f6670729aabc1fab85238d2b306a1c1767a807bbBill Wendling } 29a90a99a82b9c5c39fc6dbee9c266dcd7b107fe2fBill Wendling { 302c79ecbd704c656178ffa43d5a58ebe3ca188b40Bill Wendling std::stringbuf buf1("testing", std::ios_base::in); 31ad9a9e15595bc9d5ba1ed752caf8572957f77a3dDuncan Sands std::stringbuf buf; 32ad9a9e15595bc9d5ba1ed752caf8572957f77a3dDuncan Sands buf.swap(buf1); 331d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling assert(buf.str() == "testing"); 3427107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling assert(buf1.str() == ""); 3527107f6ab4627fa38bcacad6757ed6d52910f880Bill Wendling } 361d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling { 371d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling std::stringbuf buf1("testing", std::ios_base::out); 381d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling std::stringbuf buf; 39034b94b17006f51722886b0f2283fb6fb19aca1fBill Wendling buf.swap(buf1); 406765834754cbb3cb0f15b4b15e98c5e73fa50066Bill Wendling assert(buf.str() == "testing"); 411d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling assert(buf1.str() == ""); 421d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling } 43f3d1500ab2c7364d3d0fb73a7e1b8c6339ab48b1Bill Wendling { 441d3dcfe4246b4d45fa78a8dfd0a11c7fff842c15Bill Wendling std::wstringbuf buf1(L"testing"); 4511d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling std::wstringbuf buf; 4611d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling buf.swap(buf1); 47f3d1500ab2c7364d3d0fb73a7e1b8c6339ab48b1Bill Wendling assert(buf.str() == L"testing"); 4811d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling assert(buf1.str() == L""); 4911d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling } 5011d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling { 51f3d1500ab2c7364d3d0fb73a7e1b8c6339ab48b1Bill Wendling std::wstringbuf buf1(L"testing", std::ios_base::in); 5211d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling std::wstringbuf buf; 5311d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling buf.swap(buf1); 5411d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling assert(buf.str() == L"testing"); 5511d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling assert(buf1.str() == L""); 5611d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling } 5711d00420e42ba88c3b48cab997965a7be79315e2Bill Wendling { 58629fb82419d9bfff6ae475363bcce66192dfcc8eBill Wendling std::wstringbuf buf1(L"testing", std::ios_base::out); 595a0eeb5a9d727940b1dbe8dff6e9aa292ada0f6aBill Wendling std::wstringbuf buf; 60480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling buf.swap(buf1); 61480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling assert(buf.str() == L"testing"); 62480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling assert(buf1.str() == L""); 636765834754cbb3cb0f15b4b15e98c5e73fa50066Bill Wendling } 64f6670729aabc1fab85238d2b306a1c1767a807bbBill Wendling} 65480b1b28ea6fc1bb5c78d99472df624cfd3fce47Bill Wendling