brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 6ac1381 Raw
72 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <sstream>10 11// template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >12// class basic_stringbuf13 14// template <class charT, class traits, class Allocator>15//   void swap(basic_stringbuf<charT, traits, Allocator>& x,16//             basic_stringbuf<charT, traits, Allocator>& y);17 18#include <sstream>19#include <cassert>20 21#include "test_macros.h"22 23int main(int, char**)24{25    {26        std::stringbuf buf1("testing");27        std::stringbuf buf;28        swap(buf, buf1);29        assert(buf.str() == "testing");30        assert(buf1.str() == "");31    }32    {33        std::stringbuf buf1("testing", std::ios_base::in);34        std::stringbuf buf;35        swap(buf, buf1);36        assert(buf.str() == "testing");37        assert(buf1.str() == "");38    }39    {40        std::stringbuf buf1("testing", std::ios_base::out);41        std::stringbuf buf;42        swap(buf, buf1);43        assert(buf.str() == "testing");44        assert(buf1.str() == "");45    }46#ifndef TEST_HAS_NO_WIDE_CHARACTERS47    {48        std::wstringbuf buf1(L"testing");49        std::wstringbuf buf;50        swap(buf, buf1);51        assert(buf.str() == L"testing");52        assert(buf1.str() == L"");53    }54    {55        std::wstringbuf buf1(L"testing", std::ios_base::in);56        std::wstringbuf buf;57        swap(buf, buf1);58        assert(buf.str() == L"testing");59        assert(buf1.str() == L"");60    }61    {62        std::wstringbuf buf1(L"testing", std::ios_base::out);63        std::wstringbuf buf;64        swap(buf, buf1);65        assert(buf.str() == L"testing");66        assert(buf1.str() == L"");67    }68#endif // TEST_HAS_NO_WIDE_CHARACTERS69 70  return 0;71}72