|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 1794 (0x702)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
package body Standard_String is
Vide : constant Natural := 0;
procedure Add_Char (A_String : in out Object; A_Char : Character) is
New_Length : Natural;
begin
New_Length := A_String.The_Length + 1;
A_String.The_Length := New_Length;
A_String.The_Contents (New_Length) := A_Char;
end Add_Char;
procedure Reset (A_String : in out Object) is
begin
A_String.The_Length := Vide;
end Reset;
function Empty_String return Object is
Tempo_String : Object;
begin
Tempo_String.The_Length := Vide;
return Tempo_String;
end Empty_String;
function Length (A_String : Object) return Natural is
begin
return Natural (A_String.The_Length);
end Length;
function Get_Contents (A_String : Object) return String is
begin
return String (A_String.The_Contents (1 .. A_String.The_Length));
end Get_Contents;
procedure Put_Contents (A_String : in out Object; S : String) is
The_Length : Integer;
begin
The_Length := S'Length;
if The_Length > Typic_Size then
The_Length := Typic_Size;
end if;
A_String.The_Contents (1 .. The_Length) := S (1 .. The_Length);
A_String.The_Length := The_Length;
end Put_Contents;
procedure Copy (From : in Object; To : out Object) is
begin
To.The_Contents := From.The_Contents;
To.The_Length := From.The_Length;
end Copy;
function Equal (Left, Right : Object) return Boolean is
begin
return (Left.The_Length = Right.The_Length) and then
(Left.The_Contents (1 .. Left.The_Length) =
Right.The_Contents (1 .. Right.The_Length));
end Equal;
end Standard_String;