1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <strstream>
11
12// class ostrstream
13
14// void freeze(bool freezefl = true);
15
16#include <strstream>
17#include <cassert>
18
19int main()
20{
21    {
22        std::ostrstream out;
23        out.freeze();
24        assert(!out.fail());
25        out << 'a';
26        assert(out.fail());
27        out.clear();
28        out.freeze(false);
29        out << 'a';
30        out << char(0);
31        assert(out.str() == std::string("a"));
32        out.freeze(false);
33    }
34}
35