OriginalType

Evaluates to the original / ultimate base type of an enum type - or for non-enum types, it evaluates to the type that it's given.

If the base type of the given enum type is not an enum, then the result of OriginalType is its direct base type. However, if the base type of the given enum is also an enum, then OriginalType gives the ultimate base type - that is, it keeps getting the base type for each succesive enum in the chain until it gets to a base type that isn't an enum, and that's the result. So, the result will never be an enum type.

If the given type has any qualifiers, the result will have those same qualifiers.

version(StdDdoc)
template OriginalType (
T
) {}

Meta