adding experimental changes

This commit is contained in:
2021-10-30 01:57:19 +00:00
parent b7de031e72
commit 442d45fb9e
10 changed files with 496 additions and 74 deletions

View File

@ -1,22 +1,23 @@
with H3.Arrays;
generic
type Item_Type is (<>);
type Rune_Type is (<>);
package H3.Strings is
package P is new H3.Arrays(Item_Type, 1, Item_Type'First);
package P is new H3.Arrays(Rune_Type, 1, Rune_Type'First);
subtype Rune is P.Item;
subtype Rune_Array is P.Item_Array;
subtype Thin_Rune_Array_Pointer is P.Thin_Item_Array_Pointer;
Terminator_Length: System_Zero_Or_One renames P.Terminator_Length;
Terminator_Value: Item_Type renames P.Terminator_Value;
subtype Character_Array is P.Item_Array;
subtype Thin_Character_Array_Pointer is P.Thin_Item_Array_Pointer;
Terminator_Value: Rune renames P.Terminator_Value;
type Elastic_String is new P.Elastic_Array with record
--A: standard.integer := 999;
null;
end record;
overriding procedure Append (Obj: in out Elastic_String; V: in Character_Array);
overriding procedure Append (Obj: in out Elastic_String; V: in Rune_Array);
end H3.Strings;