[BACK]Return to trees_of_vectors.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Implift

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Implift/trees_of_vectors.ads, Revision 1.1.1.1

1.1       maekawa     1: with Generic_Lists;
                      2: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      3:
                      4: package Trees_of_Vectors is
                      5:
                      6: -- DESCRIPTION :
                      7: --   This package provides a data abstraction for working
                      8: --   with trees of vectors.
                      9:
                     10: -- THE DATA STRUCTURES :
                     11:
                     12:   type Tree_of_Vectors;
                     13:   type Link_to_Tree_of_Vectors is access Tree_of_Vectors;
                     14:
                     15:   type node is record
                     16:     d : Link_to_Vector;
                     17:     ltv : Link_to_Tree_of_Vectors;
                     18:   end record;
                     19:
                     20:   package Link_to_Vector_Trees is new Generic_Lists(node);
                     21:   type Tree_of_Vectors is new Link_to_Vector_Trees.List;
                     22:
                     23: -- SELECTORS :
                     24:
                     25:   function Is_In ( tv : Tree_of_Vectors; v : Vector ) return boolean;
                     26:   function Is_In ( tv : Tree_of_Vectors; v : Link_to_Vector ) return boolean;
                     27:
                     28:   -- DESCRIPTION :
                     29:   --   returns true if v belongs to the top level of the tree.
                     30:
                     31:   generic
                     32:
                     33:     with procedure Process ( nd : in node; continue : out boolean );
                     34:
                     35:   procedure Iterator ( tv : in Tree_of_Vectors );
                     36:
                     37:   -- DESCRIPTION :
                     38:   --   A walk through the tree will be made, left branch first.
                     39:
                     40: -- DESTRUCTORS :
                     41:
                     42:   procedure Clear ( nd : in out node );
                     43:   procedure Clear ( tv : in out Tree_of_Vectors );
                     44:   procedure Clear ( ltv : in out Link_to_Tree_of_Vectors );
                     45:
                     46:   -- DESCRIPTION :
                     47:   --   All allocated memory space will be freed.
                     48:
                     49: end Trees_of_Vectors;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>