blob: 17ffb731db25c9235bda97bcdcb3570b6fcb0797 [file] [log] [blame]
package body Opt27_Pkg is
type Node_Rec_T is record
Element : Element_T;
Left : Node_T;
Right : Node_T;
end record;
function Is_Null (Node : in Node_T) return Boolean is
begin
return (Node = null);
end Is_Null;
function Find_Elem (Template : Template_T; List : List_T) return Node_T is
Element_Found : Boolean := False;
Node_Walker : Node_T := null;
begin
Node_Walker := List.First_Node;
while not Element_Found and (Node_Walker /= null) loop
if Is_Match (Node_Walker.Element, Template) then
Element_Found := True;
else
Node_Walker := Node_Walker.Right;
end if;
end loop;
return Node_Walker;
end;
end Opt27_Pkg;