- 4 (a)
- Size specification: T'SIZE
- 5
- The expression must be a static expression of some integer type. The value of the expression specifies an upper bound for the number of bits to be allocated to objects of the type or first named subtype T. The size specification must allow for enough storage space to accommodate every allowable value of these objects. A size specification for a composite type may affect the size of the gaps between the storage areas allocated to consecutive components. On the other hand, it need not affect the size of the storage area allocated to each component.
- 6
- The size specification is only allowed if the constraints on T and on its subcomponents (if any) are static. In the case of an unconstrained array type, the index subtypes must also be static.
- 7 (b)
- Specification of collection size: T'STORAGE_SIZE
- 8
- The prefix T must denote an access type. The expression must be of some integer type (but need not be static); its value specifies the number of storage units to be reserved for the collection, that is, the storage space needed to contain all objects designated by values of the access type and by values of other types derived form the access type, directly or indirectly. This form of length clause is not allowed for a type derived from an access type.
- 9 (c)
- Specification of storage for a task activation: T'STORAGE _SIZE
- 10
- The prefix T must denote a task type. The expression must be of some integer type (but need not be static); its value specifies the number of storage units to be reserved for an activation (not the code) of a task of the type.
- 11 (d)
- Specification of small for a fixed point type: T'SMALL
- 12
- The prefix T must denote the first named subtype of a fixed point type. The expression must be a static expression of some real type; its value must be greater than the delta of the first named subtype. The effect of the length clause is to use this value of small for the representation of values of the fixed point base type. (The length clause thereby also affects the amount of storage for objects that have this type).