I am also interested in this. I like the idea of being able to compose streambufs to combine facilities, possibly something like this:

template< typename CharT, class StreamBuf >
class streambuf_compose
{
};

Where it inherits from the parent streambuf. I have not though this idea through completely yet.

I am also interested in indentation facilities, with the ability to turn them off (e.g. formatting CDATA or PRE tags in XML/HTML).

Also, is there a way for you to bind a streambuf to a stream? I have not had any direct experience with stream buffers, so I don't know. If not, it would be a good idea to have an I/O stream that can have a custom stream buffer, that way you can use stream facilities on these buffers, thus gaining access to compression, encription, etc.

I have basic code that writes a stream to a Windows console using WriteFile and GetStdHandle functions. This is not a complete stream implementation, but would be useful to have - expressed as I/O traits?? E.g.

class windows_io_traits
{
  public:
     typedef HANDLE handle_type;
  public:
     inline handle_type get_output_handle()
     {
        return( ::GetStdHandle( STD_OUT_HANDLE ));
     }
     inline write( handle_type h, const char * data, long len )
     {
        ::WriteFile( h, data, len );
     }
};

Regards,
Reece

_________________________________________________________________
Use MSN Messenger to send music and pics to your friends http://www.msn.co.uk/messenger


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to