brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · f22193d Raw
51 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// template <class charT, class traits>17//   void swap(basic_ifstream<charT, traits>& x, basic_ifstream<charT, traits>& y);18 19#include <fstream>20#include <cassert>21 22#include "test_macros.h"23 24int main(int, char**)25{26    {27        std::ifstream fs1("test.dat");28        std::ifstream fs2("test2.dat");29        swap(fs1, fs2);30        double x = 0;31        fs1 >> x;32        assert(x == 4.5);33        fs2 >> x;34        assert(x == 3.25);35    }36#ifndef TEST_HAS_NO_WIDE_CHARACTERS37    {38        std::wifstream fs1("test.dat");39        std::wifstream fs2("test2.dat");40        swap(fs1, fs2);41        double x = 0;42        fs1 >> x;43        assert(x == 4.5);44        fs2 >> x;45        assert(x == 3.25);46    }47#endif48 49  return 0;50}51