Boost logo

Boost Users :

Subject: Re: [Boost-users] [typeindex v3.0] Peer review begins Mon 21st ends Wed 30th
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2014-04-23 09:33:14

> -----Original Message-----
> From: Boost-users [mailto:boost-users-bounces_at_[hidden]] On Behalf Of
> Douglas
> Sent: 20 April 2014 19:14
> To: boost_at_[hidden]; boost-users_at_[hidden]; boost-
> announce_at_[hidden]
> Subject: [Boost-users] [typeindex v3.0] Peer review begins Mon 21st ends Wed
> 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:
> Reminder of the original peer review announcement:
> brary-acceptance-begins-ending-Thurs-21st-Nov-td4654788.html
> Source code:
> Github:
> Documentation:
> 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
> 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
> _index/ctti_type_index.hpp. There is an explanation in the comments there
> this technique's compatibility with the C++ standard.
> 5. TypeIndex now defines everything in the boost::typeind namespace instead of
> boost namespace.
> So:
> 1. What is your evaluation of the design?
> 2. What is your evaluation of the implementation?

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

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

> 4. What is your evaluation of the potential usefulness of the
> library?
Nice to have.
> 5. Did you try to use the library?
> 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?



Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 01539 561830

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at