18 lines
574 B
Ada
18 lines
574 B
Ada
with System;
|
|
package Self is
|
|
type Lim is limited private;
|
|
type Lim_Ref is access all Lim;
|
|
function G (X : Integer) return lim;
|
|
|
|
procedure Change (X : in out Lim; Incr : Integer);
|
|
function Get (X : Lim) return Integer;
|
|
private
|
|
type Lim is limited record
|
|
Comp : Integer;
|
|
Self_Default : Lim_Ref := Lim'Unchecked_Access;
|
|
Self_Unrestricted_Default : Lim_Ref := Lim'Unrestricted_Access;
|
|
Self_Anon_Default : access Lim := Lim'Unchecked_Access;
|
|
Self_Anon_Unrestricted_Default : access Lim := Lim'Unrestricted_Access;
|
|
end record;
|
|
end Self;
|