dune-geometry  2.4
Refinement implementation for hypercubes
Collaboration diagram for Refinement implementation for hypercubes:

The Iterators

For the iterators we have to hack around a bit. The problem is as follows:

template<int A>
class outer
{
template<int B>
class inner;
};

C++ does not allow specialisation of the inner class when the outer class is not specialized.

So I had to create a baseclass for the iterators which is not inside another class. This base class can then be specialized, and the real Iterator class inherits from it. I gave it the somewhat clumsy name RefinementSubEntityIteratorSpecial.