File: intmap.sig

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (48 lines) | stat: -rw-r--r-- 1,393 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(* Copyright 1989 by AT&T Bell Laboratories *)
signature INTMAP =
  sig
    type 'a intmap

         (* return a named intmap *)
    val namednew : string * int * exn -> 'a intmap

         (* return an unnamed intmap *)
    val new      : int * exn -> 'a intmap

         (* return the number of elements *)
    val elems    : 'a intmap -> int

         (* insert a new binding *)
    val add      : 'a intmap -> int * 'a -> unit

         (* remove a key; no effect if the key does not exists *)
    val rmv : 'a intmap -> int -> unit

         (* lookup a key; raises exception if the key does not exists *)
    val map : 'a intmap -> int -> 'a

         (* lookup a key; return the key if no associated binding exists *)
    val mapInt : int intmap -> int -> int

         (* lookup a key; return the default value if the key is missing *)
    val mapWithDefault : 'a intmap * 'a -> int -> 'a

         (* iterate over an intmap *)
    val app : (int * 'a -> unit) -> 'a intmap -> unit

         (* convert an intmap to a list *)
    val intMapToList: 'a intmap -> (int * 'a) list

         (* return the keys in an intmap *)
    val keys: 'a intmap -> int list

         (* return the values in an intmap *)
    val values: 'a intmap -> 'a list

         (* clear an intmap *)
    val clear : 'a intmap -> unit

         (* copy an intmap *)
    val copy : 'a intmap -> 'a intmap 
  end