Renamespacing
The piles of usings throughout the codebase are getting unwieldy, unmaintainable, and uninformative.
Consider ephemeris_body.hpp:
https://github.com/mockingbirdnest/Principia/blob/b0bec96cae90105aafa39131f140449fd995936d/physics/ephemeris_body.hpp#L35-L69
What use is it to know that we use Quotient and not Product? Not everything in that list is actually used anyway: J2000 is unused, and merely reflects implementation details from 6 years ago.
These usings also interact poorly with modules: in a modularized world, either we have to put them in the global namespace, which makes them even more verbose (using principia::quantities::Length rather than using quantities::Length), or have to put them between the opening of the namespace and the beginning of an export block (meaning we cannot use export namespace).
There also can sometimes be an ambiguity between these usings that exist for convenience and those that are part of the API, like these in cgs.hpp:
https://github.com/mockingbirdnest/Principia/blob/b0bec96cae90105aafa39131f140449fd995936d/quantities/cgs.hpp#L18-L19
We want to switch to using namespace for those convenience usings, with smaller namespaces.
| Current | This issue | Modularized future |
|---|---|---|
|
|
|