Boost logo

Boost :

From: Andy Little (andy_at_[hidden])
Date: 2005-05-06 03:14:52


"Joel" <joel_at_[hidden]> wrote > Joel wrote:
>> Brian Braatz wrote:
>>
>>> Could it be as simple as missing the namespace on the is_sqeuence<>
>>> call?
>>
>>
>> Have you tried it? If it was, I wouldn't have bothered the list ;-)
>> Try replacing int_<0> with int.
>
> I think the problem is the way mpl::is_sequence is implemented.
> It tries to detect the presence of a "tag" typedef and a "begin"

On VC7.1 It uses this version

template<
      typename BOOST_MPL_AUX_NA_PARAM(T)
>
struct is_sequence
 : not_< is_same< typename begin<T>::type, void_ > >
    
{
    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
};

where begin<T>::type forwards to T::begin

eg this solves the problem temporarily :
:
namespace boost {namespace mpl{

    template<int N>
    struct begin<int_<N> > : void_{};
}}

regards
Andy Little


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