Commit | Line | Data |
---|---|---|
34e49164 C |
1 | open Common |
2 | ||
3 | open Oassoc | |
4 | ||
ae4735db | 5 | class ['a,'b] oassocb xs = |
34e49164 C |
6 | object(o) |
7 | inherit ['a,'b] oassoc | |
8 | ||
9 | val data = Mapb.empty | |
10 | ||
11 | method empty = {< data = Mapb.empty >} | |
12 | method add (k,v) = {< data = Mapb.add k v data >} | |
13 | method replkey (k,v) = {< data = Mapb.add k v (Mapb.remove k data) >} | |
14 | method iter f = Mapb.iter (curry f) data | |
15 | method view = raise Todo | |
16 | ||
17 | method del (k,v) = {< data = Mapb.remove k data >} | |
18 | method mem e = raise Todo | |
b1b2de81 | 19 | method null = (Mapb.height data =|= 0) |
34e49164 C |
20 | |
21 | method assoc k = Mapb.find k data | |
22 | method delkey k = {< data = Mapb.remove k data >} | |
91eba41f | 23 | |
ae4735db | 24 | method keys = |
91eba41f | 25 | List.map fst (o#tolist) |
ae4735db | 26 | end |
34e49164 | 27 |