christopho/solarus — pull request #620 by Morwenn (2014-09-15 21:56:25+00:00)
Title: Use namespaces

I replaced the old javaism of static methods in a class by free methods in a namespace (that concerns the classes Debug, Geometry and LuaTools). However, I had to make several design choices. Hope this will be ok:
* First, I changed the names from PascalCase to snake_case to match the existing pratice (namespace solarus).
* However, I did not change the file names. Therefore, Debug.h contains the namespace debug. I have no problem with that, but matching names could seem more consistent.
* I decided not to indent code when opening a nested namespace. It also matches how namespace solarus is used.

This branch also changes some other things:
* The constants in namespace geometry are now constexpr.
* I created a file LuaTools.inl to put the implementations of namespace lua_tools' function templates. The header was getting quite big. I decided to keep the extension .inl even for the templates (while I could have used .tpp instead). The reason is that I feel that one extension for "implementation files that cannot be .cpp" is sufficient.

As you can see, some of these choices could be contested. Comments about them are welcome.