-----Original Message----- From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Niall Douglas Sent: 20 April 2014 19:14 To: boost@lists.boost.org; boost-users@lists.boost.org; boost- announce@lists.boost.org Subject: [Boost-users] [typeindex v3.0] Peer review begins Mon 21st ends Wed 30th
Dear Boost,
A second round of community review begins for proposed Boost.TypeIndex on Mon 21st, lasting ten days. I should apologise as it's my fault for starting another peer review straight after Boost.Align ends, however I was busy as Google Summer of Code admin until today, and I will be preparing to talk at C++ Now straight after this review ends. I hope that this doesn't affect the community's willingness to contribute to the review.
Reminder of the report from the last TypeIndex v2.1 review: https://groups.google.com/forum/#!topic/boost-list/TeiSdkRkUF0
Reminder of the original peer review announcement: http://boost.2283326.n4.nabble.com/TypeIndex-Peer-review-period-for-li brary-acceptance-begins-ending-Thurs-21st-Nov-td4654788.html
Source code: https://github.com/apolukhin/type_index/zipball/master
Github: https://github.com/apolukhin/type_index
Documentation: http://apolukhin.github.com/type_index/index.html
Changes in TypeIndex v3.0 since v2.1 (from my own review of it):
1. Documentation is hugely improved over v2.1, lots of side by side examples illustrating the differences and similarities.
2. You can now create your own custom type indices using an extensible
framework.
3. boost::typeind::type_info now exports raw_name() and pretty_name() to maximise MSVC-GCC compatibility, and to solve point 1 but not point 2 in the
report.
4. The undefined behaviour trick used in v2.1 has been replaced with a cast via the placeholder type boost::typeind::detail::ctti_data which can be viewed in https://github.com/apolukhin/type_index/blob/master/include/boost/type _index/ctti_type_index.hpp. There is an explanation in the comments there about this technique's compatibility with the C++ standard.
5. TypeIndex now defines everything in the boost::typeind namespace instead of
v2.1 the
boost namespace.
So:
1. What is your evaluation of the design? OK. 2. What is your evaluation of the implementation? OK.
Though I'm not enthusiastic about the name of namespace boost::typeind:: but I don't have any much better ideas. Perhaps someone else has? Nor am I clear that this namespace bti helps the reader. "Through all the examples, we'll assume that the following namespace alias is in effect: namespace bti = boost::typeind; " IMO, the frequency of use of the namespace bti is probably so low that spelling it out is clearer, for example: boost::typeind::type_id<T>().pretty_name() // human readable
3. What is your evaluation of the documentation?
As advertised - Very Much Improved ! Looks nice and C++ Reference section works for me. Examples use code snippets so can be sure that the code shown will compile and run.
4. What is your evaluation of the potential usefulness of the library? Nice to have. 5. Did you try to use the library? No. 6. How much effort did you put into your evaluation?
A quick reading of the docs.
7. Are you knowledgeable about the problem domain? Not specially. 8. Do you think the library should be accepted as a Boost library?
Yes. Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 01539 561830