Boost logo

Boost Users :

Subject: Re: [Boost-users] [typeindex v3.0] Peer review begins Mon 21st ends Wed 30th
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2014-04-30 10:26:40


2014-04-30 17:22 GMT+04:00 Karsten Ahnert <karsten.ahnert_at_[hidden]>:

> Hi,
>
> Here is my review of the Type Index library. I have not studied version
> 2.1, so everything is entirely based on v3.0
>
> > 1. What is your evaluation of the design?
>
> Seems reasonable to me. It is an enhancement of std::type_info with
> additional functionality and methods. I think the most useful function
> is pretty_name(). There have been some discussion about the namespace, I
> also do not like boost::typeind. boost::typeindex would be fine for me.
>
> I have one suggestion: Can e method for splitting the name into a part
> for the namesapce and a part for the type name be provided? Or even a
> range of (nested) namespace names. I could imagine something like
>
> type_id< A::B::Foo >.type_name() prints "Foo" and
> type_id< A::B::Foo >.namespace_name() returns a range with ["A","B"]
>

This could be useful but I'd rather not put it in this library. Such
functionality is not widely requested and can be easily implemented
manually using Standard library and type_id<T>().pretty_name().

If there'll be a way to add more reflection functionality I'd make a
separate library.

> > 2. What is your evaluation of the implementation?
>
> I searched the code to find the place where the name in pretty_name is
> generated, and I found __cxa_demanlge :). No seriously, I have not
> looked very detailed into the implementation.
>
> > 3. What is your evaluation of the documentation?
>
> Documentation is fine. Maybe an example with the output of pretty_name()
> could be put into the Getting started section, to see immediately the
> advantage of this library. And an example with namespaces would be
> great, showing that namespaces are also correctly displayed.
>

OK, I'll fix that.

> > 4. What is your evaluation of the potential usefulness of the
> > library?
>
> For me it is really useful. I have two use cases where I would
> immediately use this library, one is showing the name of expections and
> the other is giving better error messages in a type erased library.
>
> > 5. Did you try to use the library? With what compiler? Did you have
> > any problems?
>
> Yes, I played around with it for 1-2 hour. Works out of the box, with
> gcc-4.7 and gcc-4.8. There where no problems, everything works smoothly.
>
> > 6. How much effort did you put into your evaluation? A glance? A
> > quick reading? In-depth study?
>
> 1-2 hour with playing with examples and reading the docs.
>
> > 7. Are you knowledgeable about the problem domain?
>
> A bit.
>
> > And finally, every review should answer this question:
> >
> > 8. Do you think the library should be accepted as a Boost library? Be
> > sure to say this explicitly so that your other comments don't obscure
> > your overall opinion.
>
> Yes, I think it should be accepted.
>

Thank you for the review!

-- 
Best regards,
Antony Polukhin


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net