Boost logo

Boost :

From: Rainer Deyke (rdeyke_at_[hidden])
Date: 2022-08-21 14:14:52


Here is my quick review of Boost.URL. I vote to ACCEPT this library.
It may not be perfect, but it's a good enough solution for a real problem.

I do have some concerns:

   - The lack of IRI support is unfortunate. It's 2022; we should all
be writing software with Unicode support by default. However, this can
be built on top of Boost.URL, and isn't needed in all cases.

   - The "string+offsets" implementation means that a lot of characters
need to be copied every time something at the left end of a long URL is
modified - for example when changing an http URL to use https. This is
unlikely to cause a problem in most circumstances, but it's something to
be aware of.

On 13.08.22 04:29, Klemens Morgenstern via Boost wrote:

> Some questions to consider:
>
> - Does this library bring real benefit to C++ developers for real world
> use-case?

Yes.

> - Do you have an application for this library?

Yes.

> - Does the API match with current best practices?

It's good enough.

> - Is the documentation helpful and clear?

Yes, but I did find a few errors that should be fixed. One of the
examples on https://master.url.cpp.al/url/containers/authority.html does
not match the text. I have to admit I skipped over the customization
section.

> - Did you try to use it? What problems or surprises did you encounter?

No.

> - What is your evaluation of the implementation?

Like many Boost libraries, I found the implementation fairly opaque.
Class url delegates to url_base, which delegates to url_view_base, which
delegates to detail::url_impl, with much of the functionality spread out
over various view classes. This isn't a problem per se, but it makes
casual reading difficult.

-- 
Rainer Deyke (rainerd_at_[hidden])

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