1 ------------------------------------------------------------------------------
3 -- GNAT LIBRARY COMPONENTS --
5 -- A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S . --
6 -- G E N E R I C _ S E T _ O P E R A T I O N S --
10 -- This specification is adapted from the Ada Reference Manual for use with --
11 -- GNAT. In accordance with the copyright of that document, you can freely --
12 -- copy and modify this specification, provided that if you redistribute a --
13 -- modified version, any changes that you have made are clearly indicated. --
15 ------------------------------------------------------------------------------
17 with Ada
.Containers
.Red_Black_Trees
.Generic_Operations
;
20 with package Tree_Operations
is new Generic_Operations
(<>);
22 use Tree_Operations
.Tree_Types
;
24 with procedure Insert_With_Hint
25 (Dst_Tree
: in out Tree_Type
;
26 Dst_Hint
: Node_Access
;
27 Src_Node
: Node_Access
;
28 Dst_Node
: out Node_Access
);
30 with function Copy_Tree
(Source_Root
: Node_Access
)
33 with procedure Delete_Tree
(X
: in out Node_Access
);
35 with function Is_Less
(Left
, Right
: Node_Access
) return Boolean;
37 with procedure Free
(X
: in out Node_Access
);
39 package Ada
.Containers
.Red_Black_Trees
.Generic_Set_Operations
is
42 procedure Union
(Target
: in out Tree_Type
; Source
: Tree_Type
);
44 function Union
(Left
, Right
: Tree_Type
) return Tree_Type
;
46 procedure Intersection
(Target
: in out Tree_Type
; Source
: Tree_Type
);
48 function Intersection
(Left
, Right
: Tree_Type
) return Tree_Type
;
50 procedure Difference
(Target
: in out Tree_Type
; Source
: Tree_Type
);
52 function Difference
(Left
, Right
: Tree_Type
) return Tree_Type
;
54 procedure Symmetric_Difference
55 (Target
: in out Tree_Type
;
58 function Symmetric_Difference
(Left
, Right
: Tree_Type
) return Tree_Type
;
60 function Is_Subset
(Subset
: Tree_Type
; Of_Set
: Tree_Type
) return Boolean;
62 function Overlap
(Left
, Right
: Tree_Type
) return Boolean;
64 end Ada
.Containers
.Red_Black_Trees
.Generic_Set_Operations
;