(2)
package System.Storage_Elements is
pragma Preelaborate(System.Storage_Elements);
(3)
type Storage_Offset is range implementation-defined;
(4)
subtype Storage_Count is Storage_Offset range 0..Storage_Offset'Last;
(5)
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;
(6)
-- Address Arithmetic:
(7)
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;
(8)
function "mod"(Left : Address; Right : Storage_Offset)
return Storage_Offset;
(9)
-- Conversion to/from integers:
(10)
type Integer_Address is implementation-defined;
function To_Address(Value : Integer_Address) return Address;
function To_Integer(Value : Address) return Integer_Address;
(11)
pragma Convention(Intrinsic, "+");
-- ...and so on for all language-defined subprograms declared in thispackage.
end System.Storage_Elements;
-- Email comments, additions, corrections, gripes, kudos, etc. to: