Future of `Implementation` typedef in `Entity`, `EntityIterator`, elsewhere(?)
We decided to remove the DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
macro by making the impl()
method public and removing boundaryId()
from the public interface at the developer meeting.
We also had some talk about the Implementation
type (for Entity
), but no decision in the end (as far as I remember). Options included:
- Keep
Implementation
- Keep
Implementation
and add aImpl
alias - Remove
Implementation
; users should rely onstd::decay_t<decltype(...)>
- A
Dune::Implementation<Entity>
type
For (2.), I would like to add that Impl
is already used for the implementation detail namespaces. Having a type with the same name might be confusing.
The question what to do came up again as part of !164 (merged) which removed the Implementation
type from EntityIterator
and my proposed fix in !166 (closed) (which would implement (1.); I don't mind adding a notice to the typedef as planned for the .impl()
method).