brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 05b233e Raw
73 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_stringstream13 14// void str(const basic_string<charT,traits,Allocator>& str);15 16#include <sstream>17#include <cassert>18 19#include "test_macros.h"20 21int main(int, char**)22{23    {24        std::stringstream ss(" 123 456 ");25        assert(ss.rdbuf() != 0);26        assert(ss.good());27        assert(ss.str() == " 123 456 ");28        int i = 0;29        ss >> i;30        assert(i == 123);31        ss >> i;32        assert(i == 456);33        ss << i << ' ' << 123;34        assert(ss.str() == "456 1236 ");35        ss.str("5466 89 ");36        ss >> i;37        assert(i == 5466);38        ss >> i;39        assert(i == 89);40        ss << i << ' ' << 321;41        assert(ss.str() == "89 3219 ");42    }43#ifndef TEST_HAS_NO_WIDE_CHARACTERS44    {45        std::wstringstream ss(L" 123 456 ");46        assert(ss.rdbuf() != 0);47        assert(ss.good());48        assert(ss.str() == L" 123 456 ");49        int i = 0;50        ss >> i;51        assert(i == 123);52        ss >> i;53        assert(i == 456);54        ss << i << ' ' << 123;55        assert(ss.str() == L"456 1236 ");56        ss.str(L"5466 89 ");57        ss >> i;58        assert(i == 5466);59        ss >> i;60        assert(i == 89);61        ss << i << ' ' << 321;62        assert(ss.str() == L"89 3219 ");63    }64#endif65    {66        std::stringstream ss;67        ss.write("\xd1", 1);68        assert(ss.str().length() == 1);69    }70 71  return 0;72}73