specify ::details instead of details to avoid conflicts
Adding namespace XYZ { namespace details { ... } }
in any code which also includes EventIDBase.h will lead to an ambiguity (read: it does not compile). Resolve that ambiguity by explicitly specifying ::details
when using the something from the details
namespace.