Annotated Ada Reference ManualLegal Information
Contents   Index   References   Search   Previous   Next 

 13.11.1 Storage Allocation AttributesThe Max_Size_In_Storage_Elements Attribute

1/3
{AI05-0193-1} [The Max_Size_In_Storage_Elements and Max_Alignment_For_Allocation attributes may be attribute is useful in writing user-defined pool types.] 

Static Semantics

2/3
{AI05-0193-1} For every subtype S, the following attributes are attribute is defined: 
3/3
S'Max_Size_In_Storage_Elements

{AI95-00256-01} {AI95-00416-01} {AI05-0193-1} Denotes the maximum value for Size_In_Storage_Elements that could will be requested by the implementation via Allocate for an access type whose designated subtype is S. For a type with access discriminants, if the implementation allocates space for a coextension in the same pool as that of the object having the access discriminant, then this accounts for any calls on Allocate that could be performed to provide space for such coextensions. The value of this attribute is of type universal_integer
3.a
Ramification: If S is an unconstrained array subtype, or an unconstrained subtype with discriminants, S'Max_Size_In_Storage_Elements might be very large. 
4/3
S'Max_Alignment_For_Allocation

{AI05-0193-1} Denotes the maximum value for Alignment that could be requested by the implementation via Allocate for an access type whose designated subtype is S. The value of this attribute is of type universal_integer. 
5/3
{AI05-0193-1} For a type with access discriminants, if the implementation allocates space for a coextension in the same pool as that of the object having the access discriminant, then these attributes account for any calls on Allocate that could be performed to provide space for such coextensions.
5.a/3
Reason: {AI05-0193-1} The values of these attributes should reflect only the calls that might be made to the pool specified for an access type with designated type S. Thus, if the coextensions would normally be allocated from a different pool than the one used for the main object (that is, the Implementation Advice of 13.11 for determining the pool of an anonymous access discriminant is not followed), then these attributes should not reflect any calls on Allocate used to allocate the coextensions. 
5.b/3
Ramification: {AI05-0193-1} Coextensions of coextensions of this type (and so on) are included in the values of these attributes if they are allocated from the same pool. 

Wording Changes from Ada 95

5.c/2
{AI95-00256-01} Corrected the wording so that a fortune-telling compiler that can see the future execution of the program is not required.

Extensions to Ada 2005

5.d/3
{AI05-0193-1} The Max_Alignment_For_Allocation attribute is new. 

Contents   Index   References   Search   Previous   Next 
Ada-Europe Ada 2005 and 2012 Editions sponsored in part by Ada-Europe