Hi,

I have two questions about the use of the typename-keyword when using
template-parameter dependent types.

1. Consider the following code:

    template< class T >
    {
        typedef typename A::foo t;
    };

IIRC there are some compilers that only compile the above without the
typename keyword? Is that correct (I only have the Intel and GCC compilers
at hand, so I can't check)
If so, what is the Boost policy for portable code? Perhaps there is a define
that allows something like the following?

    template< class T >
    {
        #ifdef BOOST_INCORRECT_TYPENAME
            typedef A::foo t;
        #else
            typedef typename A::foo t;
        #endif
    };

2. Can the BOOST_STATIC_CONSTANT macro deal with the following?

    template< class T >
    {
        BOOST_STATIC_CONSTANT( typename T::foo, bar = T::value );
    };

i.e. the extra typename keyword?

Thanks,

Jaap Suter




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to