The beauty of generic header-names
A first attempt looks like this:
This isn’t really good enough yet for a library, because we also need a header file. As the names of the headers are fixed, header and implementations files are now uniform in that regard and can be easily moved between libraries and executables. As dependencies to headers outside of the library are contained in two files, it is much easier to use code-generation tools to manage the dependencies of a library.
Source: www.mulle-kybernetik.com