--::::::::::
--lilpbite.ads -- list_lpbase-Iterators
--::::::::::
generic
package List_LPBase.Iterators is
type Process_Type is access
procedure (Object : in out Object_Type;
Continue: in out Boolean);
procedure Front_To_Rear (List : in LPList_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 LPList_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 LPList_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_LPBase.Iterators;