3 #ifndef DUNE_GRIDGLUE_ADAPTER_RANGEGENERATORS_HH
4 #define DUNE_GRIDGLUE_ADAPTER_RANGEGENERATORS_HH
6 #include <dune/common/iteratorrange.hh>
14 template<
bool reverse>
16 : std::integral_constant<bool, reverse>
76 template<
typename P0,
typename P1,
bool reverse = false>
77 IteratorRange< typename GridGlue<P0, P1>::template IntersectionIterator<reverse ? 1 : 0> >
78 intersections(
const GridGlue<P0, P1>& glue,
const Reverse<reverse>& = {})
80 const static int side = reverse ? 1 : 0;
81 return {glue.template ibegin<side>(), glue.template iend<side>()};
Definition: gridglue.hh:37
IteratorRange<... > intersections(const GridGlue<... > &glue, const Reverse<... > &reverse=!reversed)
Iterate over all intersections of a GridGlue.
sequential adapter to couple two grids at specified close together boundaries
Definition: gridglue.hh:54
IteratorRange<... > intersections(const GridGlue<... > &glue, const Reverse<... > &reverse=!reversed)
Iterate over all intersections of a GridGlue.
Definition: rangegenerators.hh:17
const Reverse< true > reversed
Definition: rangegenerators.hh:31
constexpr Reverse<!reverse > operator!() const
Definition: rangegenerators.hh:21
Reverse type
Definition: rangegenerators.hh:18