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.

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

Reply via email to