Boost logo

Boost :

Subject: Re: [boost] Formal Review Request: TypeErasure
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2012-05-24 22:16:45


On 05/24/2012 04:21 PM, Jeremy Maitin-Shepard wrote:
> Steven Watanabe <watanabesj <at>> writes:
>> 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.
> This library is indeed very interesting. From a quick look at some of the
> documentation, I have just one initial comment: I believe it is a mistake to
> "propagate constness" for "any"s that capture references, as that is
> inconsistent with normal C++ semantics and it leads to a situation of trying to
> fight the C++ type system rather than work with it.

The situation is one that isn't even
allowed with C++ references:

int & const ref = i; // error

The problem with
const any<Concept, _self&> xx;
is that anything that isn't specially
designed to handle it will see the
const and treat it as const. Some
parts of the library will work with
it, but in others it was just too

In Christ,
Steven Watanabe

Boost list run by bdawes at, gregod at, cpdaniel at, john at