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-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 // UNSUPPORTED: c++98, c++03
10 
11 // <fstream>
12 
13 // template <class charT, class traits = char_traits<charT> >
14 // class basic_ofstream
15 
16 // basic_ofstream& operator=(basic_ofstream&& rhs);
17 
18 #include <fstream>
19 #include <cassert>
20 #include "test_macros.h"
21 #include "platform_support.h"
22 
23 int main(int, char**)
24 {
25     std::string temp = get_temp_file_name();
26     {
27         std::ofstream fso(temp.c_str());
28         std::ofstream fs;
29         fs = move(fso);
30         fs << 3.25;
31     }
32     {
33         std::ifstream fs(temp.c_str());
34         double x = 0;
35         fs >> x;
36         assert(x == 3.25);
37     }
38     std::remove(temp.c_str());
39     {
40         std::wofstream fso(temp.c_str());
41         std::wofstream fs;
42         fs = 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 
53   return 0;
54 }
55