brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · a61357e Raw
62 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// <iomanip>10 11// T1 resetiosflags(ios_base::fmtflags mask);12 13#include <iomanip>14#include <istream>15#include <ostream>16#include <cassert>17 18#include "test_macros.h"19 20template <class CharT>21struct testbuf22    : public std::basic_streambuf<CharT>23{24    testbuf() {}25};26 27int main(int, char**)28{29    {30        testbuf<char> sb;31        std::istream is(&sb);32        assert(is.flags() & std::ios_base::skipws);33        is >> std::resetiosflags(std::ios_base::skipws);34        assert(!(is.flags() & std::ios_base::skipws));35    }36    {37        testbuf<char> sb;38        std::ostream os(&sb);39        assert(os.flags() & std::ios_base::skipws);40        os << std::resetiosflags(std::ios_base::skipws);41        assert(!(os.flags() & std::ios_base::skipws));42    }43#ifndef TEST_HAS_NO_WIDE_CHARACTERS44    {45        testbuf<wchar_t> sb;46        std::wistream is(&sb);47        assert(is.flags() & std::ios_base::skipws);48        is >> std::resetiosflags(std::ios_base::skipws);49        assert(!(is.flags() & std::ios_base::skipws));50    }51    {52        testbuf<wchar_t> sb;53        std::wostream os(&sb);54        assert(os.flags() & std::ios_base::skipws);55        os << std::resetiosflags(std::ios_base::skipws);56        assert(!(os.flags() & std::ios_base::skipws));57    }58#endif59 60  return 0;61}62