The ReflectedVariant registry indexes all the ReflectedVariants by their fully qualified name using '::' delimiters.
ENameSpaceError RegisterReflectedVariant(const ReflectedVariant* r, XTarget* target)
Register the given ReflectedVariant.
r must not be null and r->m_name must be a unique fully qualified name using '::' delimiters.
Possible return values of type ENameSpaceError :
void UnregisterReflectedVariant(const ReflectedVariant* r)
Unregister the given ReflectedVariant.
r must not be null and have been successfully registered before calling this function.
void WriteReflectedVariantRegistry(xostream& os)
Write out the entire registry to the given ostream
const ReflectedVariant* TryFindReflectedVariant(ConstStringZ fullyQualifiedName)
Returns nullptr on failure to find an entry with the given fully qualified name
const ReflectedVariant& FindReflectedVariant(ConstStringZ fullyQualifiedName)
Version that throws a ReflectedVariantNotFoundException if not found