1generic
2   type Table_Component_Type is private;
3   type Table_Index_Type     is range <>;
4
5   Table_Low_Bound : Table_Index_Type;
6
7package Opt46_Pkg is
8
9   type Table_Type is
10     array (Table_Index_Type range <>) of Table_Component_Type;
11   subtype Big_Table_Type is
12     Table_Type (Table_Low_Bound .. Table_Index_Type'Last);
13
14   type Table_Ptr is access all Big_Table_Type;
15
16   type Table_Private is private;
17
18   type Instance is record
19      Table : aliased Table_Ptr := null;
20      P : Table_Private;
21   end record;
22
23   function Last (T : Instance) return Table_Index_Type;
24
25private
26
27   type Table_Private is record
28      Last_Val : Integer;
29   end record;
30
31end Opt46_Pkg;
32