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
(-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
(cnv).value_or(-1); boost::lexical_cast ("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.