module dpp2.type; import dpp.from; alias Type = from!"dpp2.sum".Sum!( Void, NullPointerT, Bool, UnsignedChar, SignedChar, Char, Wchar, Char16, Char32, Short, UnsignedShort, Int, UnsignedInt, Long, UnsignedLong, LongLong, UnsignedLongLong, Float, Double, LongDouble, Pointer, ConstantArray, ); struct Void {} struct NullPointerT {} struct Bool {} struct UnsignedChar {} struct SignedChar {} struct Char {} struct Wchar {} struct Char16 {} struct Char32 {} struct Short {} struct UnsignedShort {} struct Int {} struct UnsignedInt {} struct Long {} struct UnsignedLong {} struct LongLong {} struct UnsignedLongLong {} struct Float {} struct Double {} struct LongDouble {} struct Pointer { Type* pointeeType; } struct ConstantArray { Type* elementType; int length; }