setbuf.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//===----------------------------------------------------------------------===//
233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//
333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//                     The LLVM Compiler Infrastructure
433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//
533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// This file is distributed under the University of Illinois Open Source
633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// License. See LICENSE.TXT for details.
733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//
833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org//===----------------------------------------------------------------------===//
933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org
1033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// <sstream>
1133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org
1233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
1333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// class basic_stringbuf
1433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org
1533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org// basic_streambuf<charT,traits>* setbuf(charT* s, streamsize n);
1633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org
1733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org#include <sstream>
1833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org#include <cassert>
1933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org
2033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.orgint main()
2133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org{
2233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org    {
2333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org        std::stringbuf sb("0123456789");
2433e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org        assert(sb.pubsetbuf(0, 0) == &sb);
2533e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org        assert(sb.str() == "0123456789");
2633e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org    }
2733e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org    {
2833e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org        std::wstringbuf sb(L"0123456789");
2933e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org        assert(sb.pubsetbuf(0, 0) == &sb);
3033e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org        assert(sb.str() == L"0123456789");
3133e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org    }
3233e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org}
3333e09c8efd078308de3c77a88301566f65c07befverwaest@chromium.org