Boost logo

Boost :

Subject: Re: [boost] [review] Review of PolyCollection starts today (May 3rd)
From: Brook Milligan (brook_at_[hidden])
Date: 2017-05-17 15:12:38


> Please post your comments and review to the boost mailing list (preferably), the Boost Library Incubator. or privately to the Review Manager (to me ;-). Here are some questions you might want to answer in your review:
>
> - What is your evaluation of the design?

The overall design seems sound. The library identifies a clear need and seems to provide a carefully crafted solution.

> - What is your evaluation of the implementation?

I did not look into the implementation in detail.

> - What is your evaluation of the documentation?

The documentation seemed amazingly clear, even though I am not a game developer and do not relate daily to warriors and goblins. The common thread in the documentation and the clarity of progression of the tutorial was great. I did not review the reference documentation, though. In part, it seems unnecessary because the basic concepts seemed so well thought out and clearly described. I appreciate that there may be subtleties to bits of the API, but I will leave it to those more familiar with the details of implementation to improve.

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

I feel this library would be very useful and can see using it in my own code. For example, right now I am working with a hierarchy of objects that must be stored in a container; there are lots of objects but relatively few classes in the hierarchy. This seems perfect for the base_collection container.

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

I did use the library. In particular, I compiled all of the examples and built a small program with a class hierarchy of my own to test my understanding of the base_collection container. This was done with Apple LLVM version 8.0.0 (clang-800.0.42.1). The only problem was that the following test cases needed -std=c++14 (rather than c++11) because std::make_unique is not defined for c++11 on that compiler: algorithms, basic_function, and segmented_structure.

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

I have read through most of the documentation (basically all of the tutorial) and have been following much of the discussion during the review.

> - Are you knowledgeable about the problem domain?

I am not particularly knowledgeable about writing optimized collections such as this, but I am knowledgeable from a user perspective on using them and on some of the optimizations that would be useful.

> - Do you think the library should be accepted as a Boost library?

Yes, I feel this would be a very useful addition to Boost and would likely use it in my code.

Cheers,
Brook


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