You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
\lang includes the \lstinline|typeid| operator, which produces values of
type \lstinline|type_info|, which in turn uniquely identify types within
a \lang program. These \lstinline|type_info| objects are immutable and are suitable for comparing types in logic expressions as well as in \lang.
The type information is the full type information, and not subject to erasure,
as for example in Java.
\lang does provide static, template-based operations that report variuos traits of types. But these are static and do not enable reasoning about
dynamic types represented by \lstinline|type_info| values.
\lang does not define any operations on \lstinline|type_info| values other than equality and conversion to a (arbitrary) name. As an exploratory experiment
\NAME defines some such operators, corresponding to those in \lstinline|type_traits|: