Boost logo

Boost :

Subject: Re: [boost] Formal Review Request: TypeErasure
From: lcaminiti (lorcaminiti_at_[hidden])
Date: 2012-05-23 22:12:54


Steven Watanabe-4 wrote
>
> AMDG
>
> I'd like to request a formal review of the
> TypeErasure library that I've posted about
> several times before here.
>
> The TypeErasure library is a generalization
> of boost::any and boost::function. It
> allows easy composition of arbitrary
> type erased operators.
>
> As an example of basic usage, we
> can simulate Boost.Any:
>
> any&lt;mpl::vector&lt;copy_constructible&lt;&gt;, typeid_<> > > x(10);
> int i = any_cast<int>(x); // i == 10
>
> The library is available in the Boost Sandbox at
> http://svn.boost.org/svn/boost/sandbox/type_erasure/
>
> You can download archives with pre-built documentation from
> http://sourceforge.net/projects/steven-watanabe.u/files/
>
> Online documentation can be found here:
> http://steven_watanabe.users.sourceforge.net/type_erasure/libs/type_erasure/
>

Hello Steven,

I quickly read the docs (see a couple of minor comments below). I'll compile
and play with the examples this weekend.

I'm interested in the library. If you are looking for a Review Manager, I'd
like to volunteer if that's OK with you and the Review Wizards.

Minor Comments

1) It'd be nice to have a motivating example up front (something not trivial
but not as complex as the range formatter either).

2) Why placeholders _a, _b, ... instead of _1, _2, ...?

3) I found the syntax of concept_interface difficult to understand... for
example, Base looks arbitrary. But then it's very nice to be able to
c.push_back(10) instead of call(...)

4) Same for overloaded concept_interface where both Base and Enable look
arbitrary. (I wonder if macros could generate some of the boiler-plate code
for the overload.)

5) There's a FIXME in the Reserved Identifier section.

--Lorenzo

--
View this message in context: http://boost.2283326.n4.nabble.com/Formal-Review-Request-TypeErasure-tp4630373p4630451.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

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