Draft: Resolve "Bug in ISTL container index depth calculation"
Summary
This MR fixes the bug reported in #178. The underlying machinery to accumulate the maximum depth of the blocking is changed to use the hybrid accumulator algorithm proposed in staging/dune-typetree!93 (merged) in dune-typetree
. To achieve so, the RootGFS
should be accumulated in an unevaluated context:
static const std::size_t ci_depth = decltype(
TypeTree::accumulateToTree(
std::declval<RootGFS>(),
std::declval<extract_max_container_depth>(),
Indices::_0)
)::value + 1;
Now, since the new accumulation algorithm expects the type to be complete, we need to separate the implementation of unordered grid function spaces from the transformation of the ordering tree. Therefore, this depends on MR !559 (closed) for this to work.
Closes #178
Edited by Santiago Ospina De Los Ríos