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
> 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