$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-12-05 10:25:47
----- Original Message ----- 
From: "p_michel_andre" <michel.andre_at_[hidden]>
> > My best guess is that it's just a compiler bug. You might try 
> inserting the
> > following, just to see what type reference actually turns out to be:
> > 
> >     template <class T> struct undefined;
> > 
> > and then, just before the assertion:
> > 
> >     undefined<reference> x;
> > 
> > The error message should give you some idea of what's going on (I 
> hope).
> 
> template <class T, class Y, bool CONV, bool SAME> struct undefined;
> undefined<reference, value_type&, 
>     !
> boost::is_convertible<iterator_category*,std::forward_iterator_tag*>::
> value,
>     boost::is_same<reference,value_type&>::value > x;
> 
> Gives me 
> boost\iterator_adaptors.hpp(627) : error C2079: 'x' uses undefined 
> struct 'undefined<class OrderbookList &,class OrderbookList &,0,1>'
> 
> So the expression should yield true.
> 
> The iter_adaptors is because I'm using stlfilter which seems a bit 
> agressive about shortening names (iterator -> iter) ;).
Seems like a VC6 compiler bug. I guess you could disable the assertion.
Jason, care to take a look at this one?
-Dave