brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 276fef5 Raw
56 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// <fstream>10 11// template <class charT, class traits = char_traits<charT> >12// class basic_ofstream13 14// basic_ofstream& operator=(basic_ofstream&& rhs);15 16#include <fstream>17#include <cassert>18#include "test_macros.h"19#include "platform_support.h"20 21int main(int, char**)22{23    std::string temp = get_temp_file_name();24    {25        std::ofstream fso(temp.c_str());26        std::ofstream fs;27        fs = std::move(fso);28        fs << 3.25;29    }30    {31        std::ifstream fs(temp.c_str());32        double x = 0;33        fs >> x;34        assert(x == 3.25);35    }36    std::remove(temp.c_str());37 38#ifndef TEST_HAS_NO_WIDE_CHARACTERS39    {40        std::wofstream fso(temp.c_str());41        std::wofstream fs;42        fs = std::move(fso);43        fs << 3.25;44    }45    {46        std::wifstream fs(temp.c_str());47        double x = 0;48        fs >> x;49        assert(x == 3.25);50    }51    std::remove(temp.c_str());52#endif53 54  return 0;55}56