-- Copyright (c) 1995/6 John Beidler -- Computing Sciences Dept. -- Univ. of Scranton, Scranton, PA 18510 -- -- (717) 941-7446 voice -- (717) 941-4250 FAX -- beidler@cs.uofs.edu -- -- For use by non-profit educational institutions only. -- This software is GUARANTEED. Please report any errors. All -- corrections will be made as soon as possible (normally within -- one working day). ------------------------------------------------------------------ package List_Polymorphic_Cntl.Iterators is type Process_Type is access procedure (Object : in out Holder_Class_Ptr; Continue: in out Boolean); procedure Front_To_Rear (List : in List_Type; Process: Process_Type); ---------------------------------------------------- -- Iterate through the list recursively performing -- Process on each object on the way down the structure -- until Continue is set to false, or until all objects -- are visited ---------------------------------------------------- procedure Rear_To_Front (List : in List_Type; Process: Process_Type); ---------------------------------------------------- -- Iterate through the list recursively performing -- Process on each object on the way up the structure -- until Continue is set to false, or until all objects -- are visited ---------------------------------------------------- procedure Round_Trip (List : in List_Type; Down_Proc, Up_Proc : Process_Type); ---------------------------------------------------- -- Iterate through the list recursively performing -- Down_Proc on each object on the way down the structure -- and performing Up_Proc on each object on the way back -- until Continue is set to false, or until all objects -- are visited in both directions ---------------------------------------------------- end List_Polymorphic_Cntl.Iterators;