live in a namespace.
The alternative was to change CBDATA_CLASS_* macros so that the static member
name does not depend on the type. That may have been better, but perhaps there
are some, unknown to me, low-level reasons why unique member names are
required for class cbdata code to work.
/// \ingroup CBDATAAPI
#define CBDATA_CLASS_INIT(type) cbdata_type type::CBDATA_##type = CBDATA_UNKNOWN
+#define CBDATA_NAMESPACED_CLASS_INIT(namespace, type) cbdata_type namespace::type::CBDATA_##type = CBDATA_UNKNOWN
/**
\ingroup CBDATAAPI