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