Refinement implementation for hypercubes
[Refinement]
This
Refinement implementation uses an SGrid as it's backend. The SGrid is wrapped by RefinementGrid to make it singleton. RefinementImp than adapts the SGrid interface to the
Refinement interface.
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.