1with Pack13_Pkg;
2
3package Pack13 is
4
5  package Four_Bits is new Pack13_Pkg (4);
6  package Thirty_Two_Bits is new Pack13_Pkg (32);
7
8  type Object is private;
9  type Object_Ptr is access all Object;
10
11  procedure Set (Myself : Object_Ptr; The_Data : Thirty_Two_Bits.Object);
12
13private
14
15  type Some_Record is record
16    Data_1     : Thirty_Two_Bits.Object;
17    Data_2     : Thirty_Two_Bits.Object;
18    Small_Data : Four_Bits.Object;
19  end record;
20  for Some_Record use record
21    Data_1 at 0 range 0 .. 31;
22    Data_2 at 4 range 0 .. 31;
23    Small_Data at 8 range 0 .. 3;
24  end record;
25
26  type Object is record
27    Something : Some_Record;
28  end record;
29  for Object use record
30    Something at 0 range 0 .. 67;
31  end record;
32
33end Pack13;
34