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 : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp