$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: MB (mb2act_at_[hidden])
Date: 2005-12-08 22:15:11
Thorsten Ottosen wrote:
> Victor A. Wagner Jr. wrote:
> 
>  >> Seems to me that sub_range is a convenience class to describe 
> iterator ranges from ranges or containers that model ForwardRange, from 
> which you can propagate constness.
>  >
>  >
>  >
>  > yup, that's what I thought also
> 
> 
> It seems that the problem was caused by the fact that the vc71
> generates default operators a bit wierd.
>   The copy-constructor is default generated and so does simply copy the 
> iterators. It seems that the default generated constructor/ assignment 
> for sub_range calls a templated version of iterator_range's 
> construcgtor/ assignment operator
> 
> I think this might be a bug in the compiler.
I thought it was intentional.
See:
void test()
{
   std::string str;
   // hey, const sub_range.
   const boost::sub_range<std::string> rng1(str);
   // whether or not to allow...?
   boost::sub_range<std::string> rng2 = rng1;
}
I don't know the answer for sure.
Regards,
MB
http://p-stade.sourceforge.net/