template<common::TypeCategory CAT, int KIND>
struct Fortran::evaluate::TypeKind< CAT, KIND >
Traits class for Fortran intrinsics types.
In contrast to Type<CAT>, TypeKind<CAT,KIND> also carries the KIND as template parameter. Used to resolve a Fortran type to an equivalent C/C++ type of the host compiler. Avoid using it anywhere else as template instantiation for each KIND separately blows up build time.
Common members:
- category The CAT template argument
- kind The KIND template argument
- bits For types where it makes sense, how many bits of information it holds
- bytesStored How many bytes this type requires in memory; includes alignment/padding bytes
- HostT The equivalent C/C++ type in the host compiler; void if there is no equivalent
- FortranType The equivalent evaluate::Type<CAT>
- GetType() The equivalent evaluate::DynamicType