Boost logo

Boost :

Subject: Re: [boost] Convert library -- Andrzej's review
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-05-20 22:41:56


On 5/20/2014 9:29 PM, Vladimir Batov wrote:
> On 05/20/2014 07:15 PM, Rob Stewart wrote:
>
>> I don't mind the clear separation of the input and output types, but
>> if "from" can be avoided easily, do so.
>
> Encouraged ;-) I could not resist the itch and got rid of "::from".
> Updated the code and the docs.

Please do not update the code or the docs while the review is ongoing.
By doing so you make it impossible for everyone reviewing your source to
be reviewing the same thing. You can of course make updates but not to
the master branch.

>
>> Shorter is better when clarity is not lost, but I'm unclear on the
>> need to specify the input type.
>
> Indeed, it's not needed as often. Still, sometimes we might want to
> force a particular type:
>
> boost::cstringstream_converter cnv;
>
> boost::convert<string>(-1, cnv).value() == "-1";
> boost::convert<string, unsigned int>(-1, cnv).value() == 4294967295;
>
> although one might argue for
>
> boost::convert<string>(uint(-1), cnv).value() == 4294967295;
>
> So, I agree, the need to specify the input type is mute right now.
>
>> > boost::cnv<int, string>(cnv).value_or(-1);
>> > boost::lexical_cast<int, string>("char string");
>> I haven't begun my review yet, though I intend to do so, so I might
>> find the answer myself, but why is it necessary to specify "string" in
>> that example? Can the converter be expected to understand a string
>> literal as well as a std::string?
>
> Indeed, that was a bad example and the explicit specification of in-type
> was not necessary.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk