13 Feb
2012
13 Feb
'12
4:35 a.m.
It's shown prominently in the docs that a boost::format object can be sent to an ostream. cout << format("%2% %1%") % 36 % 77; But, there is no easy way to use it where a plain string is needed. E.g. throw runtime_error ( format("%2% %1%") % 36 % 77 ); One must use extra parens and a named function, either throw runtime_error ( (format("%2% %1%") % 36 % 77).str() ); or throw runtime_error ( str(format("%2% %1%") % 36 % 77) ); either of which detracts from the expression. Is there any good reason why an implicit conversion operator to the matching string class was omitted? I'd like to find out if there is some reason, before looking into submitting an update. —John