|
|
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: 1523 (0x5f3)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
package body Lines is
function Make return Lines_Type is
begin
return null;
end Make;
function Is_Empty (Lines : Lines_Type) return Boolean is
begin
return Lines = null;
end Is_Empty;
procedure Add (New_Line : Line; To : in out Lines_Type) is
begin
To := new Line_Rec'(Ubs.Value (New_Line), To);
end Add;
function Initialize (Lines : Lines_Type) return Line_Iterator is
function Transpose (The_Fields : Lines_Type) return Lines_Type is
Reverse_Fields : Lines_Type := Make;
Field_Iterator : Lines_Type := The_Fields;
begin
while not (Field_Iterator = null) loop
Add (Value (Line_Iterator (Field_Iterator)), Reverse_Fields);
Field_Iterator := Field_Iterator.all.Next;
end loop;
return Reverse_Fields;
end Transpose;
begin
if Lines /= null then
return Line_Iterator (Transpose (Lines));
else
return null;
end if;
end Initialize;
function Value (Iterator : Line_Iterator) return Line is
begin
return Ubs.Image (Iterator.A_Line);
exception
when others =>
return "";
end Value;
procedure Next (Iterator : in out Line_Iterator) is
begin
Iterator := Line_Iterator (Iterator.all.Next);
end Next;
function Done (Iterator : Line_Iterator) return Boolean is
begin
return Iterator = null;
end Done;
end Lines;