1#ifndef DUNE_FEM_GRIDPART_IDGRIDPART_INTERSECTIONITERATOR_HH
2#define DUNE_FEM_GRIDPART_IDGRIDPART_INTERSECTIONITERATOR_HH
7#include <dune/grid/common/intersectioniterator.hh>
9#include <dune/fem/gridpart/idgridpart/intersection.hh>
20 template<
class Gr
idFamily >
21 class IdIntersectionIterator
23 typedef IdIntersectionIterator< GridFamily > ThisType;
25 typedef typename std::remove_const< GridFamily >::type::Traits Traits;
27 typedef typename Traits::HostGridPartType::IntersectionIteratorType HostIntersectionIteratorType;
29 typedef IdIntersection< const GridFamily > IntersectionImplType;
33 typedef typename Traits::ExtraData ExtraData;
35 IdIntersectionIterator () =
default;
37 IdIntersectionIterator ( ExtraData data, HostIntersectionIteratorType hostIterator )
38 : data_(
std::move( data ) ),
39 hostIterator_(
std::move( hostIterator ) )
42 bool equals (
const ThisType &other )
const
44 return hostIterator_ == other.hostIterator_;
52 Intersection dereference ()
const
54 return IntersectionImplType( data(), *hostIterator_ );
57 const ExtraData &data ()
const {
return data_; }
61 HostIntersectionIteratorType hostIterator_;
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: intersection.hh:164
constexpr auto equals(T1 &&t1, T2 &&t2)
Equality comparison.
Definition: hybridutilities.hh:587
Dune namespace.
Definition: alignedallocator.hh:13