IdSet is (type-wise) not self contained
While writing the different components that constitute a Grid concept, I came across with the fact that the
IdSet is not self-contained. This is in the sense that one cannot know the arguments of the
IdSet functions without having other classes at hand (e.g. the grid). I solve that in the MR by exporting the grid type. But this is not optimal and I think it should be solved before merging !377.
Why is this important?
Because having self-contained grid interface components simplifies grid implementations by allowing separation of concerns (at least syntax-wise).
Export definitions that allow the
IdSet to be self-contained. These are basically two:
Is this backwards compatible?
No. But If there is a need for that, the new definitions may be exported by the duck-typed interface since it receives the grid implementation as a template argument.