Attribute Type_Class (GNAT Reference Manual)

### 4.68 Attribute Type_Class ¶

`typ'Type_Class` for any type or subtype typ yields the value of the type class for the full type of typ. If typ is a generic formal type, the value is the value for the corresponding actual subtype. The value of this attribute is of type `System.Aux_DEC.Type_Class`, which has the following definition:

    type Type_Class is
      (Type_Class_Enumeration,
       Type_Class_Integer,
       Type_Class_Fixed_Point,
       Type_Class_Floating_Point,
       Type_Class_Array,
       Type_Class_Record,
       Type_Class_Access,
       Type_Class_Task,
       Type_Class_Address);

Protected types yield the value `Type_Class_Task`, which thus applies to all concurrent types. This attribute is designed to be compatible with the DEC Ada 83 attribute of the same name.