| 
									
										
										
										
											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-31 16:03:11 +00:00
										 |  |  | 	function Get_Rune (Obj: in Elastic_String; Pos: in System_Index) return Rune; | 
					
						
							|  |  |  | 	function To_Rune_Array (Obj: in Elastic_String) return Rune_Array; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											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; |