brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · edb977a Raw
70 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// void swap(basic_stringbuf& rhs);15 16#include <sstream>17#include <cassert>18 19#include "test_macros.h"20 21int main(int, char**)22{23    {24        std::stringbuf buf1("testing");25        std::stringbuf buf;26        buf.swap(buf1);27        assert(buf.str() == "testing");28        assert(buf1.str() == "");29    }30    {31        std::stringbuf buf1("testing", std::ios_base::in);32        std::stringbuf buf;33        buf.swap(buf1);34        assert(buf.str() == "testing");35        assert(buf1.str() == "");36    }37    {38        std::stringbuf buf1("testing", std::ios_base::out);39        std::stringbuf buf;40        buf.swap(buf1);41        assert(buf.str() == "testing");42        assert(buf1.str() == "");43    }44#ifndef TEST_HAS_NO_WIDE_CHARACTERS45    {46        std::wstringbuf buf1(L"testing");47        std::wstringbuf buf;48        buf.swap(buf1);49        assert(buf.str() == L"testing");50        assert(buf1.str() == L"");51    }52    {53        std::wstringbuf buf1(L"testing", std::ios_base::in);54        std::wstringbuf buf;55        buf.swap(buf1);56        assert(buf.str() == L"testing");57        assert(buf1.str() == L"");58    }59    {60        std::wstringbuf buf1(L"testing", std::ios_base::out);61        std::wstringbuf buf;62        buf.swap(buf1);63        assert(buf.str() == L"testing");64        assert(buf1.str() == L"");65    }66#endif // TEST_HAS_NO_WIDE_CHARACTERS67 68  return 0;69}70