--\\with text_io; package body List_Lpt_Cntl is procedure Initialize (List: in out List_Type) is begin -- Initialize --\\text_io.Put ("Initialize"); text_io.skip_Line; zqklst.Initialize (List.List); List.Base := true; end Initialize; --------------------------------------------------- function Tail_Of (List: List_Type) return List_Type is Answer: List_Type; begin -- Tail_Of --\\text_io.Put ("Tail_Of"); text_io.skip_Line; Answer.List := zqklst.Tail_Of (List.List); Answer.Base := false; return Answer; end Tail_Of; --------------------------------------------------- procedure Finalize (List: in out List_Type) is begin -- Finalize --\\text_io.Put ("Finalize"); text_io.skip_Line; if List.Base then zqklst.Finalize (List.List); end if; end Finalize; --------------------------------------------------- procedure Adjust (List: in out List_Type) is Temp: zqklst.LPList_Type; begin -- Adjust zqklst.Initialize (Temp); zqklst.Copy (List.List, Temp); zqklst.Swap (List.List, Temp); end Adjust; --------------------------------------------------- function Head_Of (List: List_Type) return Object_Type is begin -- Head_Of return zqklst.Head_Of (List.List); end Head_Of; --------------------------------------------------- function Empty (List: List_Type) return boolean is begin -- Empty return zqklst.Empty (List.List); end Empty; --------------------------------------------------- procedure New_Head (Object: in out Object_Type; List : in List_Type) is begin -- New_Head zqklst.New_Head (Object, List.List); end New_Head; --------------------------------------------------- procedure Remove_Head (List : in List_Type; Object: in out Object_Type) is begin -- Remove_Head zqklst.Remove_Head (List.List, Object); end Remove_Head; --------------------------------------------------- procedure Append (List : in List_Type; New_Tail: in List_Type) is begin -- Append zqklst.Append (List.List, New_Tail.List); end Append; --------------------------------------------------- procedure Append (List : in List_Type; New_Tail: in out Object_Type) is begin -- Append zqklst.Append (List.List, New_Tail); end Append; --------------------------------------------------- procedure Process_Head (List : in List_Type; Process: In_Place_Process_Type) is begin zqklst.Process_Head (List.List, Process); end Process_Head; --------------------------------------------------- procedure Update_Head (List : in List_Type; Object: in out Object_Type) is begin -- Update_Head zqklst.Update_Head (List.List, Object); end Update_Head; ---------------------------------------------------- procedure Swap (Source: in out List_Type; Target: in out List_Type) is begin -- Swap zqklst.Swap (Source.List, Target.List); end Swap; ---------------------------------------------------- procedure Swap_Tail (Source: in List_Type; Target: in List_Type) is begin -- Swap_Tail zqklst.Swap_Tail (Source.List, Target.List); end Swap_Tail; ---------------------------------------------------- end List_Lpt_Cntl;