On Sat, Jan 15, 2011 at 12:06:54AM +0100, Anders Logg wrote:
> On Fri, Jan 14, 2011 at 04:47:59PM +0100, Andre Massing wrote:
> > Hi!
> >
> > Since we talk so much about constantness in another post :),
> > I am just wondering why the operator* (and related operator)
> > in Iterator classes sometimes returns a const reference to an entity like
> > inline const Facet& operator*() { return *operator->(); }
> > and sometimes not as in
> > inline Cell& operator*() { return *operator->(); }
> >
> > Should that not be consistent and even better should not both
> > version be provided, as in
> > inline const Facet& operator*() const { return *operator->(); }
> > and (^^^ there should be a second const)
> > inline Facet& operator*() { return *operator->(); }
> > ?
I think the problem is that we haven't differentiated between const
and non-const iterators as it's done in STL.
Wouldn't we need to have two different iterators?
CellIterator and
ConstCellIterator etc
?
--
Anders
_______________________________________________
Mailing list: https://launchpad.net/~dolfin
Post to : [email protected]
Unsubscribe : https://launchpad.net/~dolfin
More help : https://help.launchpad.net/ListHelp