15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)//===----------------------------------------------------------------------===//
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//                     The LLVM Compiler Infrastructure
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// This file is dual licensed under the MIT and the University of Illinois Open
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Source Licenses. See LICENSE.TXT for details.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <strstream>
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// class strstream
1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)
14a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// strstreambuf* rdbuf() const;
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include <strstream>
17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include <cassert>
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)int main()
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles){
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    {
22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)        char buf[] = "123 4.5 dog";
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        const std::strstream out(buf, 0);
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        std::strstreambuf* sb = out.rdbuf();
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(sb->sputc('a') == 'a');
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(buf == std::string("a23 4.5 dog"));
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)