brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 0115959 Raw
50 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// FILE_DEPENDENCIES: test.dat, test2.dat10 11// <fstream>12 13// template <class charT, class traits = char_traits<charT> >14// class basic_ifstream15 16// void swap(basic_ifstream& rhs);17 18#include <fstream>19#include <cassert>20 21#include "test_macros.h"22 23int main(int, char**)24{25    {26        std::ifstream fs1("test.dat");27        std::ifstream fs2("test2.dat");28        fs1.swap(fs2);29        double x = 0;30        fs1 >> x;31        assert(x == 4.5);32        fs2 >> x;33        assert(x == 3.25);34    }35#ifndef TEST_HAS_NO_WIDE_CHARACTERS36    {37        std::wifstream fs1("test.dat");38        std::wifstream fs2("test2.dat");39        fs1.swap(fs2);40        double x = 0;41        fs1 >> x;42        assert(x == 4.5);43        fs2 >> x;44        assert(x == 3.25);45    }46#endif47 48  return 0;49}50