2021-10-06 03:56:30 +00:00
|
|
|
with H3.Arrays;
|
2021-08-23 23:47:29 +00:00
|
|
|
|
|
|
|
generic
|
2021-10-30 01:57:19 +00:00
|
|
|
type Rune_Type is (<>);
|
2021-08-23 23:47:29 +00:00
|
|
|
package H3.Strings is
|
|
|
|
|
2021-10-30 01:57:19 +00:00
|
|
|
package P is new H3.Arrays(Rune_Type, 1, Rune_Type'First);
|
2021-10-03 16:53:13 +00:00
|
|
|
|
2021-10-30 01:57:19 +00:00
|
|
|
subtype Rune is P.Item;
|
|
|
|
subtype Rune_Array is P.Item_Array;
|
|
|
|
subtype Thin_Rune_Array_Pointer is P.Thin_Item_Array_Pointer;
|
2021-08-23 23:47:29 +00:00
|
|
|
|
2021-10-30 01:57:19 +00:00
|
|
|
Terminator_Length: System_Zero_Or_One renames P.Terminator_Length;
|
|
|
|
Terminator_Value: Rune renames P.Terminator_Value;
|
2021-08-23 23:47:29 +00:00
|
|
|
|
2021-10-06 03:56:30 +00:00
|
|
|
type Elastic_String is new P.Elastic_Array with record
|
|
|
|
--A: standard.integer := 999;
|
|
|
|
null;
|
2021-08-23 23:47:29 +00:00
|
|
|
end record;
|
|
|
|
|
2021-10-30 01:57:19 +00:00
|
|
|
overriding procedure Append (Obj: in out Elastic_String; V: in Rune_Array);
|
2021-08-23 23:47:29 +00:00
|
|
|
|
|
|
|
end H3.Strings;
|