Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / atoms / char-size.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2004-2006 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 *
4 * MLton is released under a BSD-style license.
5 * See the file MLton-LICENSE for details.
6 *)
7
8signature CHAR_SIZE_STRUCTS =
9 sig
10 end
11
12signature CHAR_SIZE =
13 sig
14 include CHAR_SIZE_STRUCTS
15
16 datatype t = C8 | C16 | C32
17
18 val all: t list
19 val bits: t -> Bits.t
20 val equals: t * t -> bool
21 val fromBits: Bits.t -> t
22 val isInRange: t * IntInf.t -> bool
23 val memoize: (t -> 'a) -> t -> 'a
24 end