cxx/test/input.output/iostream.format/output.streams/ostream.cons/streambuf.pass.cpp
Howard Hinnant bc8d3f97eb libcxx initial import
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-11 19:42:16 +00:00

54 lines
1.4 KiB
C++

//===----------------------------------------------------------------------===//
//
// ÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊÊThe LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <ostream>
// template <class charT, class traits = char_traits<charT> >
// class basic_ostream;
// explicit basic_ostream(basic_streambuf<charT,traits>* sb);
#include <ostream>
#include <cassert>
template <class CharT>
struct testbuf
: public std::basic_streambuf<CharT>
{
testbuf() {}
};
int main()
{
{
testbuf<char> sb;
std::basic_ostream<char> os(&sb);
assert(os.rdbuf() == &sb);
assert(os.tie() == 0);
assert(os.fill() == ' ');
assert(os.rdstate() == os.goodbit);
assert(os.exceptions() == os.goodbit);
assert(os.flags() == (os.skipws | os.dec));
assert(os.precision() == 6);
assert(os.getloc().name() == "C");
}
{
testbuf<wchar_t> sb;
std::basic_ostream<wchar_t> os(&sb);
assert(os.rdbuf() == &sb);
assert(os.tie() == 0);
assert(os.fill() == L' ');
assert(os.rdstate() == os.goodbit);
assert(os.exceptions() == os.goodbit);
assert(os.flags() == (os.skipws | os.dec));
assert(os.precision() == 6);
assert(os.getloc().name() == "C");
}
}