|
Boost : |
From: Jason House (jhouse_at_[hidden])
Date: 2003-02-04 12:44:56
Terje Slettebø wrote:
> and given this:
>
> int main()
> {
> char board[3][3]=
> {
> {'O','X','O'},
> {'X','X','O'},
> {'O','O','X'}
> };
>
> std::cout << io_format<char (&)[3]>("\n|","|\n","|")
> << io_format<char (&)[3][3]>("-------","-------","-------")
> << board << '\n';
> }
>
> we get:
>
> -------
> |O|X|O|
> -------
> |X|X|O|
> -------
> |O|O|X|
> -------
Hey, that's pretty cool. I'm glad to see the ability to format items
inside of a container as well. It should handle maps and pairs
reasonably well. I think that I have the same complaints about this as
io_manip
The saving of information to the stream means that you can affect all
future output...
For instance, if you have a type
map<custom_object, list<string> >
and custom_object's stream output uses io_format<list<string> >, then
you are going to run into trouble if it wants a different formatting.
I don't know the right way to solve that problem though.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk