next up previous contents index
Weiter: A.3.2 Das Paket Hinauf: A.3 Das Paket Zurück: A.3 Das Paket

A.3.1 Das Paket System.Storage_Elements


package System.Storage_Elements is
pragma Preelaborate(System.Storage_Elements);

type Storage_Offset is range implementation-defined;


subtype Storage_Count is Storage_Offset range 0..Storage_Offset'Last;

type Storage_Element is mod implementation-defined;
for Storage_Element'Size use Storage_Unit;
type Storage_Array is array
(Storage_Offset range <>) of aliased Storage_Element;
for Storage_Array'Component_Size use Storage_Unit;

-AddressArithmetic:

function "+"(Left : Address; Right : Storage_Offset)
return Address;
function "+"(Left : Storage_Offset; Right : Address)
return Address;
function "-"(Left : Address; Right : Storage_Offset)
return Address;
function "-"(Left, Right : Address)
return Storage_Offset;

function "mod"(Left : Address; Right : Storage_Offset)
return Storage_Offset;

-Conversionto/fromintegers:

type Integer_Address is implementation-defined;
function To_Address(Value : Integer_Address) return Address;
function To_Integer(Value : Address) return Integer_Address;

-Peek/Pokefunctionality:

generic
type Object(<>) is limited private;
package Address_To_Access_Conversions is
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 Address_To_Access_Conversions;

pragma Convention(Intrinsic, "+");
-andsoonforalllanguage-definedsubprograms
-declaredinthispackage.
end System.Storage_Elements;



Johann Blieberger
Wed Feb 11 09:58:52 MET 1998