Currently the AllStatic class is defined in allocation.hpp. As a result, in order to derive from AllStatic one needs to drag in all the rest of the stuff in allocation.hpp, most or all of which is often irrelevant to the code that wants to use AllStatic. It would be better if it was in some different location that dragged in fewer dependencies.
We can also simplify its definition using C++11, making it fully standalone. Define it as
{code}
struct AllStatic {
AllStatic() = deleted;
~AllStatic() = deleted;
};
{code}