1#ifndef DUNE_SPGRID_INTERSECTIONITERATOR_HH
2#define DUNE_SPGRID_INTERSECTIONITERATOR_HH
6#include <dune/grid/spgrid/intersection.hh>
8#include <dune/grid/common/intersectioniterator.hh>
16 template<
class Gr
id >
17 class SPIntersectionIterator
19 typedef SPIntersectionIterator< Grid > This;
21 typedef typename std::remove_const< Grid >::type::Traits Traits;
23 typedef SPIntersection< Grid > IntersectionImpl;
30 typedef typename IntersectionImpl::ElementInfo ElementInfo;
31 typedef typename IntersectionImpl::GridLevel GridLevel;
33 SPIntersectionIterator () =
default;
35 SPIntersectionIterator (
const ElementInfo &insideInfo,
int face )
36 : insideInfo_( insideInfo ), face_( face )
39 Intersection dereference ()
const {
return IntersectionImpl( insideInfo(), face_ ); }
41 bool equals (
const This &other )
const
43 return (face_ == other.face_) && insideInfo().equals( other.insideInfo() );
46 void increment () { assert( face_ < GridLevel::ReferenceCube::numFaces ); ++face_; }
48 const ElementInfo &insideInfo ()
const {
return insideInfo_; }
51 ElementInfo insideInfo_;
GridImp::template Codim< 0 >::Entity Entity
Type of entity that this Intersection belongs to.
Definition: intersection.hh:192
constexpr auto equals(T1 &&t1, T2 &&t2)
Equality comparison.
Definition: hybridutilities.hh:402
Dune namespace.
Definition: alignedallocator.hh:13