|
|
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: T V
Length: 1465 (0x5b9)
Types: TextFile
Names: »V«
└─⟦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⟧
with Semaphore;
generic
type Item is private;
package Ring_Guarded_Bounded_Managed_Noniterator is
type Ring (The_Size : Positive) is limited private;
type Direction is (Forward, Backward);
procedure Seize (The_Ring : in Ring);
procedure Release (The_Ring : in Ring);
procedure Copy (From_The_Ring : in Ring; To_The_Ring : in out Ring);
procedure Clear (The_Ring : in out Ring);
procedure Insert (The_Item : in Item; In_The_Ring : in out Ring);
procedure Pop (The_Ring : in out Ring);
procedure Rotate (The_Ring : in out Ring; In_The_Direction : in Direction);
procedure Mark (The_Ring : in out Ring);
procedure Rotate_To_Mark (The_Ring : in out Ring);
function Is_Equal (Left : in Ring; Right : in Ring) return Boolean;
function Extent_Of (The_Ring : in Ring) return Natural;
function Is_Empty (The_Ring : in Ring) return Boolean;
function Top_Of (The_Ring : in Ring) return Item;
function At_Mark (The_Ring : in Ring) return Boolean;
Overflow : exception;
Underflow : exception;
Rotate_Error : exception;
private
type Items is array (Positive range <>) of Item;
type Ring (The_Size : Positive) is
record
Guard : Semaphore.Kind;
The_Top : Natural := 0;
The_Back : Natural := 0;
The_Mark : Natural := 0;
The_Items : Items (1 .. The_Size);
end record;
end Ring_Guarded_Bounded_Managed_Noniterator;