
On 01/12/10 11:29, dherring@ll.mit.edu wrote:
On Mon, 11 Jan 2010, vicente.botet wrote:
From: "Larry Evans" <cppljevans@suddenlink.net>
The .zip file in subject is here:
http://www.boostpro.com/vault/index.php?&directory=Input%20-%20Output
[snip] I wrote a similar utility, but made different tradeoffs. The basic usage looks like
Indentation nl; // takes optional max depth and depth/level params Indentation::Indent in(nl); // could have used a reference notation Indentation::Outdent out(nl); std::ostream os; os << nl "class x << nl << '{' << in /* or nl.in */ << nl << "int x;" << nl << "int y;" << out << nl << "};"
Rationale: - operator++ and operator-- don't mix "as expected" with operator<<
The functions provided in the indent_filtering_ostream.hpp include: indent_in indent_out which can be used just like your in and out. For example: ; ++mout ; mout<<"line1.1"<<std::endl ; mout<<indent_in<<"line1.1.1"<<std::endl ; test_conversion(mout)
- distinguishes between indenting and normal newlines
I'm not sure what this means. Does it mean that to indent a line, you have to use nl, as shown in this snippet of the code you posted:
<< nl << "int x;"
If so, then I'm not sure that's an advantage. Could you please elaborate on what you mean?
- possible to maintain several indentation systems
Could you describe when this would be an advantage? -regards, Larry