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