Release coccinelle-0.2.2-rc2
[bpt/coccinelle.git] / commons / ocollection / osetpt.ml
CommitLineData
34e49164
C
1open Ocollection
2open Oset
3
4
ae4735db 5class ['a] osetpt xs =
34e49164
C
6 object(o)
7 inherit [int] oset
8
9 val data = SetPt.empty
10 method tosetpt = data
11 (* if put [] then no segfault, if [11] then segfault *)
ae4735db 12 method toset = Obj.magic data
34e49164
C
13
14 method empty = {< data = SetPt.empty >}
15 method add e = {< data = SetPt.add e data >}
16 method iter f = SetPt.iter f data
ae4735db
C
17 method view =
18 if SetPt.is_empty data
19 then Empty
34e49164
C
20 else let el = SetPt.choose data in Cons (el, o#del el)
21
22 method del e = {< data = SetPt.remove e data >}
23 method mem e = SetPt.mem e data
24 method null = SetPt.is_empty data
25
26 method tolist = SetPt.elements data
27 method length = SetPt.cardinal data
28
29 method union s = {< data = SetPt.union data s#tosetpt >}
30 method inter s = {< data = SetPt.inter data s#tosetpt >}
31 method minus s = {< data = SetPt.diff data s#tosetpt >}
ae4735db 32
34e49164 33 end