Boost logo

Boost Users :

Subject: Re: [Boost-users] [Format] No implicit conversion to string?
From: Nathan Ridge (zeratul976_at_[hidden])
Date: 2012-02-12 23:57:37


> From: mpbecey7gu_at_[hidden]
>
> 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

I've also wondered about this. I also find having to use str() inconvenient.

Regards,
Nate
                                               


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net