|
Boost Users : |
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/
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net