Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2006-06-29 14:55:09


Gennaro Prota <gennaro_prota_at_[hidden]> writes:

> * Any reason why you used mpl::identity<empty> instead
> of mpl::identity<>?

a. I didn't know identity had a default argument

b. I'm not sure identity<> is supposed to be equivalent to
   identity<empty>

> does the latter break on some known
> compiler? I'm asking because it could be the reverse and
> that using the default (i.e. boost::mpl::na) is the
> preferred/most reliable way.
>
> My guess is that you just wanted to have a clearer
> diagnostic message, but I wanted to ask.

It doesn't help with the diagnostic. Either the nested thing fails to
have a ::not_an_array member and you get an error, or it has the member
and you don't.

And, note, I didn't use ::type because that confuses the compiler with
boost::type<...> and the resulting error message is less clear than it
would be otherwise.

Enclosed is one easy simplification step.



-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com


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