Visual C++ language extensions use generic as a keyword. Add a workaround that renames the namespace to cpp_generic when those language extensions are in effect.