Depending on the
availability TypeIndex library will choose an optimal class for
type_index. In cases when at least basic
will be used.
macro is a helper macro that places some virtual helper functions or expands
Issues with cross module type comparison on a bugged compilers are bypassed by directly comparing strings with type (latest versions of those compilers resolved that issue using exactly the same approach).