blob: 8860c9ae92cff0e4e8253fd7d2d87308b5afb1b1 [file] [log] [blame]
Howard Hinnant3e519522010-05-11 19:42:16 +00001//===----------------------------------------------------------------------===//
2//
Howard Hinnant5b08a8a2010-05-11 21:36:01 +00003// The LLVM Compiler Infrastructure
Howard Hinnant3e519522010-05-11 19:42:16 +00004//
Howard Hinnant412dbeb2010-11-16 22:09:02 +00005// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
Howard Hinnant3e519522010-05-11 19:42:16 +00007//
8//===----------------------------------------------------------------------===//
9
10// <fstream>
11
12// template <class charT, class traits = char_traits<charT> >
13// class basic_ofstream
14
15// basic_filebuf<charT,traits>* rdbuf() const;
16
17#include <fstream>
18#include <cassert>
19
20int main()
21{
Alexis Hunt483cf242011-07-18 23:51:21 +000022 char temp[L_tmpnam];
23 tmpnam(temp);
Howard Hinnant3e519522010-05-11 19:42:16 +000024 {
Alexis Hunt483cf242011-07-18 23:51:21 +000025 std::ofstream fs(temp);
Howard Hinnant3e519522010-05-11 19:42:16 +000026 std::filebuf* fb = fs.rdbuf();
27 assert(fb->sputc('r') == 'r');
28 }
Alexis Hunt483cf242011-07-18 23:51:21 +000029 remove(temp);
Howard Hinnant3e519522010-05-11 19:42:16 +000030 {
Alexis Hunt483cf242011-07-18 23:51:21 +000031 std::wofstream fs(temp);
Howard Hinnant3e519522010-05-11 19:42:16 +000032 std::wfilebuf* fb = fs.rdbuf();
33 assert(fb->sputc(L'r') == L'r');
34 }
Alexis Hunt483cf242011-07-18 23:51:21 +000035 remove(temp);
Howard Hinnant3e519522010-05-11 19:42:16 +000036}