Go to the first, previous, next, last section, table of contents.
Static Semantics
-
The following language-defined generic library package exists:
-
generic
type Object(<>) is limited private;
package System.Address_To_Access_Conversions is
pragma Preelaborate(Address_To_Access_Conversions);
-
type Object_Pointer is access all Object;
function To_Pointer(Value : Address) return Object_Pointer;
function To_Address(Value : Object_Pointer) return Address;
-
pragma Convention(Intrinsic, To_Pointer);
pragma Convention(Intrinsic, To_Address);
end System.Address_To_Access_Conversions;
-
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
-
An implementation may place restrictions on instantiations of
Address_To_Access_Conversions.
Go to the first, previous, next, last section, table of contents.