Library
Module
Module type
Parameter
Class
Class type
A module providing efficient character sets.
type t = charset
Synonym of charset
.
val empty : charset
The empty character set.
val full : charset
The full character set.
val singleton : char -> charset
singleton c
returns a charset containing only c
.
val range : char -> char -> charset
range cmin cmax
returns the charset containing all the characters between cmin
and cmax
.
val from_string : string -> charset
from_string s
returns the charset corresponding to the description string s
, which may contain standalone characters (different from '-'
, which is only allowed as first character) or ranges. They are build of start and end characters, separated by '-'
. An example of a valid description is "-_a-zA-Z0-9"
. Note that Invalid_argument
is raised in case of ill-formed description.
union cs1 cs2
builds a new charset that contins the union of the characters of cs1
and cs2
.
complement cs
returns a new charset containing exactly characters that are not in cs
.
add cs c
returns a new charset containing the characters of cs
and the character c
.
del cs c
returns a new charset containing the characters of cs
but not the character c
.
val mem : charset -> char -> bool
mem cs c
tests whether the charset cs
contains c
.
val pp : Stdlib.Format.formatter -> charset -> unit
pp ff cs
prints the charset cs
to output formatter ff
. Compact format is used for printing: ranges, full and empty charsets are not given in full, but abbreviated.
val pp_full : Stdlib.Format.formatter -> charset -> unit
pp_full ff cs
is similar to pp ff cs
, but it does not abbreviate ranges, full and empty charsets.
val show : charset -> string
show oc cs
builds a string representing the charset cs
using the same compact format as print
.
val show_full : charset -> string
show_full oc cs
is the same as show oc cs
but it does not use abreviations (i.e. all characters appear).
val addq : charset -> char -> unit
addq cs c
adds the character c
to the charset cs
. Users must be particularly careful when using this function. In particular, it should not be used directly on empty
, full
or the result of the singleton
function as it would change their value permanently. It is advisable to prefer the use of add
or to work on a copy
.
val delq : charset -> char -> unit
delq cs c
deletes the character c
from the charset cs
. Similar recomendatiosn as for addq
apply.
compare cs1 cs2
compares the charsets cs1
and cs2
according to some (unspecified) total order.