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-exception
6//
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 testbuf
22 : 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(mask: 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(mask: std::ios_base::skipws);
41 assert(!(os.flags() & std::ios_base::skipws));
42 }
43#ifndef TEST_HAS_NO_WIDE_CHARACTERS
44 {
45 testbuf<wchar_t> sb;
46 std::wistream is(&sb);
47 assert(is.flags() & std::ios_base::skipws);
48 is >> std::resetiosflags(mask: 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(mask: std::ios_base::skipws);
56 assert(!(os.flags() & std::ios_base::skipws));
57 }
58#endif
59
60 return 0;
61}
62

source code of libcxx/test/std/input.output/iostream.format/std.manip/resetiosflags.pass.cpp