mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-01-23 17:46:40 -05:00
34 lines
999 B
OCaml
34 lines
999 B
OCaml
(* This file is free software, part of containers. See file "license" for more details. *)
|
|
|
|
(** {1 Utils around char}
|
|
|
|
@since 0.14 *)
|
|
|
|
include Char
|
|
|
|
let pp_buf = Buffer.add_char
|
|
let pp = Format.pp_print_char
|
|
let of_int_exn = Char.chr
|
|
let of_int c = try Some (of_int_exn c) with Invalid_argument _ -> None
|
|
let to_int = Char.code
|
|
let to_string c = String.make 1 c
|
|
|
|
module Infix = struct
|
|
let ( = ) : t -> t -> bool = Stdlib.( = )
|
|
let ( <> ) : t -> t -> bool = Stdlib.( <> )
|
|
let ( < ) : t -> t -> bool = Stdlib.( < )
|
|
let ( > ) : t -> t -> bool = Stdlib.( > )
|
|
let ( <= ) : t -> t -> bool = Stdlib.( <= )
|
|
let ( >= ) : t -> t -> bool = Stdlib.( >= )
|
|
end
|
|
|
|
include Infix
|
|
|
|
let is_uppercase_ascii c = c > '\064' && c < '\091'
|
|
let is_lowercase_ascii c = c > '\096' && c < '\123'
|
|
|
|
let is_letter_ascii c =
|
|
(is_lowercase_ascii [@inlined]) c || (is_uppercase_ascii [@inlined]) c
|
|
|
|
let is_digit_ascii c = c > '\047' && c < '\058'
|
|
let is_whitespace_ascii c = c = '\032' || (c > '\008' && c < '\014')
|