Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2006-05-12 17:58:10


"Peder Holt" <peder.holt_at_[hidden]> writes:

> It turns out that BOOST_TYPEOF_NESTED_TYPEDEF has a problem when used inside
> functions on VC8.0 (possibly other compilers as well)
> This is because BOOST_TYPEOF_NESTED_TYPEDEF internally defines a member
> template:
>
> struct a {
> template<typename T>
> struct b{
> };
> };
>
> VC8.0 doesn't handle this (error C2892: local class shall not have member
> templates)
>
> It is possible to avoid this problem, but this would cripple
> BOOST_TYPEOF_NESTED_TYPEDEF because it would reintroduce the
> BOOST_TYPEOF_LIMIT_SIZE limitation on the expression complexity.
>
> The alternative is to disallow NESTED_TYPEDEF inside functions, and
> write a note on this in the docs. Is this acceptable?

Didn't I post a syntax during the review that avoids the need for this
macro?

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