OSDN Git Service

2005-06-15 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ada / a-rbtgso.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT LIBRARY COMPONENTS                          --
4 --                                                                          --
5 --          ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_SET_OPERATIONS           --
6 --                                                                          --
7 --                                 S p e c                                  --
8 --                                                                          --
9 -- This specification is adapted from the Ada Reference Manual for use with --
10 -- GNAT.  In accordance with the copyright of that document, you can freely --
11 -- copy and modify this specification,  provided that if you redistribute a --
12 -- modified version,  any changes that you have made are clearly indicated. --
13 --                                                                          --
14 ------------------------------------------------------------------------------
15
16 with Ada.Containers.Red_Black_Trees.Generic_Operations;
17
18 generic
19    with package Tree_Operations is new Generic_Operations (<>);
20
21    use Tree_Operations.Tree_Types;
22
23    with procedure Insert_With_Hint
24      (Dst_Tree : in out Tree_Type;
25       Dst_Hint : Node_Access;
26       Src_Node : Node_Access;
27       Dst_Node : out Node_Access);
28
29    with function Copy_Tree (Source_Root : Node_Access)
30        return Node_Access;
31
32    with procedure Delete_Tree (X : in out Node_Access);
33
34    with function Is_Less (Left, Right : Node_Access) return Boolean;
35
36    with procedure Free (X : in out Node_Access);
37
38 package Ada.Containers.Red_Black_Trees.Generic_Set_Operations is
39 pragma Pure (Generic_Set_Operations);
40
41    procedure Union (Target : in out Tree_Type; Source : Tree_Type);
42
43    function Union (Left, Right : Tree_Type) return Tree_Type;
44
45    procedure Intersection (Target : in out Tree_Type; Source : Tree_Type);
46
47    function Intersection (Left, Right : Tree_Type) return Tree_Type;
48
49    procedure Difference (Target : in out Tree_Type; Source : Tree_Type);
50
51    function Difference (Left, Right : Tree_Type) return Tree_Type;
52
53    procedure Symmetric_Difference
54      (Target : in out Tree_Type;
55       Source : Tree_Type);
56
57    function Symmetric_Difference (Left, Right : Tree_Type) return Tree_Type;
58
59    function Is_Subset (Subset : Tree_Type; Of_Set : Tree_Type) return Boolean;
60
61    function Overlap (Left, Right : Tree_Type) return Boolean;
62
63 end Ada.Containers.Red_Black_Trees.Generic_Set_Operations;