package core

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Core.CharSource

This module extends Base.Char, adding Identifiable for making char identifiers and Quickcheckable to facilitate automated testing with pseudorandom data.

Sourcetype t = char
include Bin_prot.Binable.S_local with type t := t
include Bin_prot.Binable.S_local_only_functions with type t := t
Sourceval bin_size_t__local : t Bin_prot.Size.sizer_local
Sourceval bin_write_t__local : t Bin_prot.Write.writer_local

The signature included from Base.Char

Sourceval all : t list
Sourceval globalize : t -> t
include Sexplib0.Sexpable.S with type t := t
Sourceval t_sexp_grammar : t Sexplib0.Sexp_grammar.t
include Base.Identifiable.S with type t := t
include Sexplib0.Sexpable.S with type t := t
include Base.Stringable.S with type t := t
include Base.Comparable.S with type t := t
include Base.Comparisons.S with type t := t
include Base.Comparisons.Infix with type t := t
include Base.Comparator.S with type t := t
Sourcetype comparator_witness = Base.Char.comparator_witness
include Base.Pretty_printer.S with type t := t
Sourceval equal__local : t -> t -> bool
Sourceval compare__local : t -> t -> int
include Base.Invariant.S with type t := t
Sourceval invariant : t -> unit
Sourceval to_int : t -> int

Returns the ASCII code of the argument.

Sourceval of_int : int -> t option

Returns the character with the given ASCII code or None is the argument is outside the range 0 to 255.

Sourceval of_int_exn : int -> t

Returns the character with the given ASCII code. Raises Failure if the argument is outside the range 0 to 255.

Sourceval unsafe_of_int : int -> t
Sourceval escaped : t -> string

Returns a string representing the given character, with special characters escaped following the lexical conventions of OCaml.

Sourceval lowercase : t -> t

Converts the given character to its equivalent lowercase character.

Sourceval uppercase : t -> t

Converts the given character to its equivalent uppercase character.

Sourceval is_digit : t -> bool

'0' - '9'

Sourceval is_lowercase : t -> bool

'a' - 'z'

Sourceval is_uppercase : t -> bool

'A' - 'Z'

Sourceval is_alpha : t -> bool

'a' - 'z' or 'A' - 'Z'

Sourceval is_alphanum : t -> bool

'a' - 'z' or 'A' - 'Z' or '0' - '9'

Sourceval is_print : t -> bool

' ' - '~'

Sourceval is_whitespace : t -> bool

' ' or '\t' or '\r' or '\n'

Sourceval get_digit : t -> int option

Returns Some i if is_digit c and None otherwise.

Sourceval get_digit_exn : t -> int

Returns i if is_digit c and raises Failure otherwise.

Sourceval is_hex_digit : t -> bool

'0' - '9' or 'a' - 'f' or 'A' - 'F'

Sourceval is_hex_digit_lower : t -> bool

'0' - '9' or 'a' - 'f'

Sourceval is_hex_digit_upper : t -> bool

'0' - '9' or 'A' - 'F'

Sourceval get_hex_digit : t -> int option

Returns Some i where 0 <= i && i < 16 if is_hex_digit c and None otherwise.

Sourceval get_hex_digit_exn : t -> int

Same as get_hex_digit but raises instead of returning None.

Sourceval min_value : t
Sourceval max_value : t

Extensions

Sourcemodule Caseless : sig ... end

Caseless compares and hashes characters ignoring case, so that for example Caseless.equal 'A' 'a' and Caseless.('a' < 'B') are true, and Caseless.Map, Caseless.Table lookup and Caseless.Set membership is case-insensitive.

include Identifiable.S with type t := t and type comparator_witness := comparator_witness
include Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
Sourceval bin_size_t : t Bin_prot.Size.sizer
Sourceval bin_write_t : t Bin_prot.Write.writer
Sourceval bin_read_t : t Bin_prot.Read.reader
Sourceval __bin_read_t__ : (int -> t) Bin_prot.Read.reader

This function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.

Sourceval bin_shape_t : Bin_prot.Shape.t
include Ppx_hash_lib.Hashable.S with type t := t
include Sexplib0.Sexpable.S with type t := t
Sourceval t_of_sexp : Sexplib0.Sexp.t -> t
include Ppx_compare_lib.Comparable.S with type t := t
include Ppx_hash_lib.Hashable.S with type t := t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
include Base.Stringable.S with type t := t
Sourceval of_string : string -> t
Sourceval to_string : t -> string
include Base.Pretty_printer.S with type t := t
Sourceval pp : Base.Formatter.t -> t -> unit
include Comparable.S_binable with type t := t with type comparator_witness := comparator_witness
include Base.Comparable.S with type t := t with type comparator_witness := comparator_witness
include Base.Comparisons.S with type t := t
include Base.Comparisons.Infix with type t := t
Sourceval (>=) : t -> t -> bool
Sourceval (<=) : t -> t -> bool
Sourceval (=) : t -> t -> bool
Sourceval (>) : t -> t -> bool
Sourceval (<) : t -> t -> bool
Sourceval (<>) : t -> t -> bool
Sourceval equal : t -> t -> bool
Sourceval compare : t -> t -> int

compare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.

Sourceval min : t -> t -> t
Sourceval max : t -> t -> t
Sourceval ascending : t -> t -> int

ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.

Sourceval descending : t -> t -> int
Sourceval between : t -> low:t -> high:t -> bool

between t ~low ~high means low <= t <= high

Sourceval clamp_exn : t -> min:t -> max:t -> t

clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.

Raises if not (min <= max).

Sourceval clamp : t -> min:t -> max:t -> t Base.Or_error.t
include Base.Comparator.S with type t := t with type comparator_witness := comparator_witness
Sourceval validate_lbound : min:t Maybe_bound.t -> t Validate.check
Sourceval validate_ubound : max:t Maybe_bound.t -> t Validate.check
Sourceval validate_bound : min:t Maybe_bound.t -> max:t Maybe_bound.t -> t Validate.check
include Hashable.S_binable with type t := t
include Ppx_hash_lib.Hashable.S with type t := t
Sourceval hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
Sourceval hashable : t Base.Hashable.t
Sourcemodule Table : Hashtbl.S_binable with type key = t
Sourcemodule Hash_set : Hash_set.S_binable with type elt = t
Sourcemodule Hash_queue : Hash_queue.S with type key = t

Quickcheck Support

include Quickcheckable.S with type t := t
Sourceval quickcheck_generator : t Base_quickcheck.Generator.t
Sourceval quickcheck_observer : t Base_quickcheck.Observer.t
Sourceval quickcheck_shrinker : t Base_quickcheck.Shrinker.t
Sourceval gen_lowercase : t Quickcheck.Generator.t
Sourceval gen_uppercase : t Quickcheck.Generator.t
Sourceval gen_alphanum : t Quickcheck.Generator.t
Sourceval gen_whitespace : t Quickcheck.Generator.t
Sourceval gen_uniform_inclusive : t -> t -> t Quickcheck.Generator.t

Generates characters between the given inclusive bounds in ASCII order. Raises if bounds are in decreasing order.

Sourcemodule Stable : sig ... end
OCaml

Innovation. Community. Security.