3 #ifndef DUNE_GEOGRID_INTERSECTIONITERATOR_HH
4 #define DUNE_GEOGRID_INTERSECTIONITERATOR_HH
17 template<
class Gr
id,
class HostIntersectionIterator >
18 class IntersectionIterator
20 typedef typename std::remove_const< Grid >::type::Traits Traits;
22 typedef GeoGrid::Intersection< Grid, typename HostIntersectionIterator::Intersection > IntersectionImpl;
24 typedef typename Traits::template Codim< 0 >::Geometry ElementGeometry;
25 typedef typename Traits::template Codim< 0 >::GeometryImpl ElementGeometryImpl;
33 template<
class Entity >
35 const HostIntersectionIterator &hostIterator )
36 : hostIterator_( hostIterator )
37 , insideGeo_( inside.geometry().impl() )
41 : hostIterator_( other.hostIterator_ )
42 , insideGeo_( other.insideGeo_ )
46 : hostIterator_( std::move( other.hostIterator_ ) )
47 , insideGeo_( std::move( other.insideGeo_ ) )
52 hostIterator_ = other.hostIterator_;
53 insideGeo_ = other.insideGeo_;
59 hostIterator_ = std::move( other.hostIterator_ );
60 insideGeo_ = std::move( other.insideGeo_ );
66 return (hostIterator_ == other.hostIterator_);
81 HostIntersectionIterator hostIterator_;
82 ElementGeometryImpl insideGeo_;
90 #endif // #ifndef DUNE_GEOGRID_INTERSECTIONITERATOR_HH