Go to the first, previous, next, last section, table of contents.


13.7.2 The Package System.Address_To_Access_Conversions

Static Semantics

  1. The following language-defined generic library package exists:
  2. generic
        type Object(<>) is limited private;
    package System.Address_To_Access_Conversions is
       pragma Preelaborate(Address_To_Access_Conversions);
    
  3.    type Object_Pointer is access all Object;
       function To_Pointer(Value : Address) return Object_Pointer;
       function To_Address(Value : Object_Pointer) return Address;
    
  4.    pragma Convention(Intrinsic, To_Pointer);
       pragma Convention(Intrinsic, To_Address);
    end System.Address_To_Access_Conversions;
    
  5. The To_Pointer and To_Address subprograms convert back and forth between values of types Object_Pointer and Address. To_Pointer(X'Address) is equal to X'Unchecked_Access for any X that allows Unchecked_Access. To_Pointer(Null_Address) returns null. For other addresses, the behavior is unspecified. To_Address(null) returns Null_Address (for null of the appropriate type). To_Address(Y), where Y /= null, returns Y.all'Address.

    Implementation Permissions

  6. An implementation may place restrictions on instantiations of Address_To_Access_Conversions.


Go to the first, previous, next, last section, table of contents.