Move various implementation classes into the 'Imp' namespace
There are various classes in dune-istl that are effectively implementation classes internal to dune-istl. A few of them are base_array_unmanaged, base_array_window, compressed_base_array_unmanaged,block_vector_unmanaged, BlockVectorWindow, compressed_block_vector_unmanaged, CompressedBlockVectorWindow
See #22 for a brief discussion.
This patch moves the classes into the namespace 'Imp'. That way it is clear that they are internal.
All code outside of dune-istl using those classes will break, but does such code really exist?
Merge request reports
Activity
Mentioned in issue #22
No, we did not decide this. But since this is not part of the interface we're free to change this any time. I've also seen
Detail
as implementation namespace.I don't have any preference regarding
Imp
,Impl
,Detail
. But if we agree on one of these, it will save me a few seconds of thinking about which one to use in a new header and another few seconds each time I have to look up which one is used in a header.I don't have any preference regarding |Imp|, |Impl|, |Detail|. But if we agree on one of these, it will save me a few seconds of thinking about which one to use in a new header and another few seconds each time I have to look up which one is used in a header.
Exactly. That's why I ask.
I don't have any preference regarding
Imp
,Impl
,Detail
. But if we agree on one of these, it will save me a few seconds of thinking about which one to use in a new header and another few seconds each time I have to look up which one is used in a header.I'd prefer "Impl", but could live with the other decisions as well.
I second that we should decide on a general guideline for such namespaces. Besides the problems about remembering the correct namespace, I also observed issues in a small project with code analysis. In such cases a proper naming scheme would also make life easier.
"Imp" remindes me on http://de.gameofthrones.wikia.com/wiki/Tyrion_Lennister instead of an implementation namespace ;-)
It seems that outside of the dune world 'detail' is popular. Since this already turned from a discussion to a vote, let's try using our new voting system: https://discourse.dune-project.org/t/naming-convention-for-implementation-namespace/54
Added 15 commits:
-
8649fc02...e50c4952 - 14 commits from branch
master
- 13ec7d1b - Move various implementation classes into the 'Imp' namespace
-
8649fc02...e50c4952 - 14 commits from branch
Enabled an automatic merge when the build for 13ec7d1b succeeds
Mentioned in commit ec617e3b
mentioned in issue dune-grid#58