C++ namespaces are an under-valued aspect of the language. In fact, I will go even further by saying that most member functions within classes should in fact be functions within namespaces instead. Classes are way over-rated IMHO. Structuring your code this way has a number of key benefits. Firstly, it forces you to distinguish between the real member functions that are extremely tightly coupled to the object and those that are more loosely coupled. The latter can be taken out of the class, put into a separate file+namespace and then and reused in other contexts.