$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Neal Becker (ndbecker2_at_[hidden])
Date: 2005-09-01 21:16:45
I see I can get this to work by adding an ugly const_cast. This seems to
confirm my suspicion, that the problem is caused by iterator_facade having
template <class Facade>
static typename Facade::reference dereference(Facade const& f)
{
return f.dereference();
}
IIUC the problem is the const in the above. To make my adaptor work, I did
this:
scalar_type & dereference() const {
return (cnt % 2 == 0) ?
const_cast<complex_type&>(*this->base_reference()).real() :
const_cast<complex_type&>(*this->base_reference()).imag();
}
So, basically, my dereference() has to lie about being const.
Is this really correct? Is there another way to make my dereference without
this ugly cast?