|
Boost : |
From: Larry Evans (cppljevans_at_[hidden])
Date: 2008-02-29 12:22:44
On 02/29/08 09:32, Roland Schwarz wrote:
> Surprisingly I was not able to find on the net
> code that would give me a smart way to indent
> a stream. So I wrote a little filter based on
> the boost iostreams library.
A long time ago, I had one and was intending *eventually* to add it to
iostreams, but never got around to it. It's in:
http://svn.boost.org/trac/boost/browser/sandbox-branches/cppljevans/boost/io/filters
It was used, with g++'s demangler and boost's spirit, to produce more
readable demangled names as demonstrated by:
http://sourceforge.net/mailarchive/message.php?msg_id=fmqia0%24kak%241%40ger.gmane.org
OOPS. It doesn't appear the way it should there, but it did appear
properly indented in my mail reader. In short, the stream has an
operator++ and operator-- as well as operator+= and operator-= which
increment the indentation and decrement the indentation. I've attached
the spirit code which, given the demangled name from g++'s demangler,
produces the indented output. The indentable stream is the
str_tree_type_name_parser_print::my_out
member variable.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk