3 #ifndef DUNE_ALBERTA_INTERSECTIONITERATOR_HH
4 #define DUNE_ALBERTA_INTERSECTIONITERATOR_HH
23 template<
class Gr
idImp >
24 class AlbertaGridLeafIntersectionIterator
26 typedef AlbertaGridLeafIntersectionIterator< GridImp > This;
31 static const int dimension = Intersection::Entity::dimension;
37 typedef AlbertaGridLeafIntersection< GridImp > IntersectionImp;
40 AlbertaGridLeafIntersectionIterator ()
43 template<
class EntityImp >
44 AlbertaGridLeafIntersectionIterator (
const EntityImp &entity, Begin )
45 : intersection_( IntersectionImp( entity, 0 ) )
48 template<
class EntityImp >
49 AlbertaGridLeafIntersectionIterator (
const EntityImp &entity, End )
50 : intersection_( IntersectionImp( entity, dimension+1 ) )
53 AlbertaGridLeafIntersectionIterator (
const This &other )
54 : intersection_( other.intersection_.impl() )
57 This &operator= (
const This &other )
59 intersection_.impl() = other.intersection_.impl();
63 const Intersection &dereference ()
const
68 bool equals (
const This &other )
const
70 return (intersection_.impl() == other.intersection_.impl());
75 intersection_.impl().next();
79 Intersection intersection_;
84 #endif // #if HAVE_ALBERTA
86 #endif // #ifndef DUNE_ALBERTA_INTERSECTIONITERATOR_HH