Boost logo

Boost :

From: Zach Laine (whatwasthataddress_at_[hidden])
Date: 2024-01-24 19:01:08


- What is your evaluation of the design?

It follows the design of the equivalent facility in std::, so this
feels moot. No complaints with that part. My only complaint is that
the semantics of boost::charconv::from_chars and
boost::charconv::from_chars_strict seem backward to me. I know this
was mentioned by other reviewers. I think that with near-identity to
the standard version, having the same (or corresponding name within
boost::) should imply the same semantics. This is classic adherence
to The Principle of Least Surprise. I would much prefer that the
varying version have the different name, and that the one with the
standard's semantics should be from_chars. I also encourage the
authors to track any changes to std::from_chars with
boost::charconv::from_chars.

- What is your evaluation of the implementation?

I mean, there's a lot of it. I'm sure it's all necessary, but I only
looked at about 10% of it. What I saw seemed reasonable and well
organized.

- What is your evaluation of the documentation?

It's great. The library is smallish, and the docs are correspondingly
bite-sized, with plenty of examples. I might add a little more front
matter that explains why someone should use this library. The docs
get there, but putting it in the first paragraph is better. Busy
people will blow right past everything that isn't in the first
paragraph or two.

- What is your evaluation of the potential usefulness
of the library?

High. I think the fact that this is a C++17 feature that we still
can't reliably use says it all. The fact that it's about the same as
the std:: implementation, or sometimes a little faster, is even
better.

- Did you try to use the library? With what compiler? Did
you have any problems?

Yes. I tried it with GCC 12, in a small test program just to see it
go. No issues.

- How much effort did you put into your evaluation?
A glance? A quick reading? In-depth study?

I spent about 3 hours, mostly looking at code. I also read all the
docs and gave it a quick try.

- Are you knowledgeable about the problem domain?

Not particularly. I have written lots and lots of parsers, but never
a simple low-level one like those in charconv.

Zach


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