protected CppQualifiedType(CppType type, string name, Type modifier) : base(type, name) { ModifierName = name; Modifier = modifier; }
public CppUnmanagedReferenceType(CppType type) : base(type, "&") { }
public CppConstType(CppType elementType) : base(elementType, "const", CustomTypeModifier.IsConst) { }
public CppManagedArrayType(CppType type) : this(type, 1) { }
public CppManagedArrayType(CppType type, int rank) : base(type, "array") { Rank = rank; }
public CppPointerType(CppType type) : base(type, "*") { }
public CppManagedReferenceType(CppType type) : base(type, "%") { }
public CppDerivedType(CppType inner, string symbol) { ElementType = inner; Symbol = symbol; }
public CppFixedArrayType(CppType type, int size) : base(type, "[" + size + "]") { Size = size; }
public CppFixedArrayType(CppType type) : this(type, 0) { }
public CppVolatileType(CppType elementType) : base(elementType, "volatile", CustomTypeModifier.IsVolatile) { }
public CppHandleType(CppType type) : base(type, "^") { }