1 with Unchecked_Conversion
;
5 type Tiny
is range 0 .. 3;
8 type Small
is range 0 .. 255;
11 type Small_Data
is record
15 pragma Pack
(Small_Data
);
28 type Index
is range 1 .. 10;
30 type Data_Array
is array (Index
) of Chunk
;
31 for Data_Array
'Alignment use 2;
32 pragma Pack
(Data_Array
);
38 type Bit
is range 0 .. 1;
41 type Bit_Array
is array (Positive range <>) of Bit
;
42 pragma Pack
(Bit_Array
);
44 type Byte
is new Bit_Array
(1 .. 8);
46 for Byte
'Alignment use 1;
49 is new Unchecked_Conversion
(Source
=> Small
, Target
=> Byte
);
51 procedure Assign
(From
: Data
; Offset
: Positive; I
: Index
; To
: out Bit_Array
);