| with Pack13_Pkg; |
| |
| package Pack13 is |
| |
| package Four_Bits is new Pack13_Pkg (4); |
| package Thirty_Two_Bits is new Pack13_Pkg (32); |
| |
| type Object is private; |
| type Object_Ptr is access all Object; |
| |
| procedure Set (Myself : Object_Ptr; The_Data : Thirty_Two_Bits.Object); |
| |
| private |
| |
| type Some_Record is record |
| Data_1 : Thirty_Two_Bits.Object; |
| Data_2 : Thirty_Two_Bits.Object; |
| Small_Data : Four_Bits.Object; |
| end record; |
| for Some_Record use record |
| Data_1 at 0 range 0 .. 31; |
| Data_2 at 4 range 0 .. 31; |
| Small_Data at 8 range 0 .. 3; |
| end record; |
| |
| type Object is record |
| Something : Some_Record; |
| end record; |
| for Object use record |
| Something at 0 range 0 .. 67; |
| end record; |
| |
| end Pack13; |