virtual IteratorGeom BeginGeom##Op() \
{ \
return IteratorGeom(this, Self::IteratorGeom::Operator##Op, \
true); \
} \
\
virtual ConstIteratorGeom BeginGeom##Op() const \
{ \
return ConstIteratorGeom(this, \
Self::ConstIteratorGeom::Operator##Op, true); \
} \
\
virtual IteratorGeom EndGeom##Op() \
{ \
return IteratorGeom(this, Self::IteratorGeom::Operator##Op, \
false); \
} \
\
virtual ConstIteratorGeom EndGeom##Op() const \
{ \
return ConstIteratorGeom(this, \
Self::ConstIteratorGeom::Operator##Op, false); \
}