blob: e76900ad22161500b066c5b3713f0b1a00b81b7f [file] [log] [blame]
Howard Hinnantbc8d3f92010-05-11 19:42:16 +00001//===----------------------------------------------------------------------===//
2//
Howard Hinnantf5256e12010-05-11 21:36:01 +00003// The LLVM Compiler Infrastructure
Howard Hinnantbc8d3f92010-05-11 19:42:16 +00004//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <fstream>
11
12// template <class charT, class traits = char_traits<charT> >
13// class basic_fstream
14
15// basic_fstream& operator=(basic_fstream&& rhs);
16
17#include <fstream>
18#include <cassert>
19
20int main()
21{
Howard Hinnant73d21a42010-09-04 23:28:19 +000022#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000023 {
24 std::fstream fso("test.dat", std::ios_base::in | std::ios_base::out
25 | std::ios_base::trunc);
26 std::fstream fs;
27 fs = move(fso);
28 double x = 0;
29 fs << 3.25;
30 fs.seekg(0);
31 fs >> x;
32 assert(x == 3.25);
33 }
34 std::remove("test.dat");
35 {
36 std::wfstream fso("test.dat", std::ios_base::in | std::ios_base::out
37 | std::ios_base::trunc);
38 std::wfstream fs;
39 fs = move(fso);
40 double x = 0;
41 fs << 3.25;
42 fs.seekg(0);
43 fs >> x;
44 assert(x == 3.25);
45 }
46 std::remove("test.dat");
Howard Hinnant73d21a42010-09-04 23:28:19 +000047#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000048}