Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Sets of message numbers
The numbers are either "sequence numbers" or "unique identification numbers". The sets are in the "formal" sense. That is, the order and the reptitions matter. The elements are kept in the order they are given.
The elements of the set are unsigned 32-bit integers. This is the data type that represents both IMAP sequence numbers and unique identification numbers, except for zero. Zero will be interpreted as being IMAP '*', the highest possible number of the messages in the mailbox.
Briefly, an expression such as 1:3,4,5:12,18:* will be represented by the OCaml list [(1, 3); (4, 4); (5, 12); (18, 0)]
.
type num = Uint32.t
val empty : t
The empty set.
val all : t
The interval of all positive numbers.
val single_int : int -> t
The half-interval starting from n
(inclusive). It corresponds to the IMAP expression "n:*".
add_interval n m s
adds the whole interval between numbers n
and m
(including both n
and m
) to the set s
.