Summary of my verbally explained points here:

* everything in the translation unit is tightly related to the class because this is the implementation file of this class (which happens to contain its interface as well)
* YAGNI: I don't see how to apply this acronym to the situation. The discussion is mostly about design and style, not about whether implementing something or not.
* And I do not see how it is simpler to have these static functions in the body of the class rather than outside of it. It makes the class body unnecessarily big, and there is absolutely no penalty in having it outside of the class.

The main point that I wanted to raise is this:

* in C++, even private members end up being part of the interface. It will cause a rebuild of any other piece of code depending on it after you modify these private members. Here we are talking about static members, but even though they are private, you will need to declare them in the header file of your class, and then trigger a rebuild of all the classes that depend on it even though the interface did not change.

* obviously here, nobody uses this class, and nobody really cares about whether these functions are in or out of the class. My point is that it does not take more time to put these functions out of the class in the first place, and that it should be done as part of a set of coding guidelines to make everybody's life easier. It is more a matter of principle than an issue related to this specific case. This is for the greater good. Really :)