Module Stdlib.Uchar
Contents
Instructions: Use this module in your project
In the IDE (CLion, Visual Studio Code, Xcode, etc.) you use for your DkSDK project:
Add the following to your project's
dependencies/CMakeLists.txt:DkSDKProject_DeclareAvailable(ocaml CONSTRAINT "= 4.14.0" FINDLIBS str unix runtime_events threads dynlink) DkSDKProject_MakeAvailable(ocaml)Add the
Findlib::ocamllibrary to any desired targets insrc/*/CMakeLists.txt:target_link_libraries(YourPackage_YourLibraryName # ... existing libraries, if any ... Findlib::ocaml)Click your IDE's
Buildbutton
Not using DkSDK?
FIRST, do one or all of the following:
Run:
opam install ocaml.4.14.0Edit your
dune-projectand add:(package (name YourExistingPackage) (depends ; ... existing dependenices ... (ocaml (>= 4.14.0))))Then run:
dune build *.opam # if this fails, run: dune buildEdit your
<package>.opamfile and add:depends: [ # ... existing dependencies ... "ocaml" {>= "4.14.0"} ]Then run:
opam install . --deps-only
FINALLY, add the library to any desired (library)and/or (executable) targets in your **/dune files:
(library
(name YourLibrary)
; ... existing library options ...
(libraries
; ... existing libraries ...
))
(executable
(name YourExecutable)
; ... existing executable options ...
(libraries
; ... existing libraries ...
))typet
The type for Unicode characters.
A value of this type represents a Unicode scalar
value which is an
integer in the ranges 0x0000...0xD7FF or 0xE000...0x10FFFF.
valmin :t
min is U+0000.
valmax :t
max is U+10FFFF.
valbom :t
bom is U+FEFF, the byte order
mark (BOM) character.
- since 4.06.0
valrep :t
rep is U+FFFD, the
replacement
character.
- since 4.06.0
succ u is the scalar value after u in the set of Unicode scalar
values.
-
raises Invalid_argument
if
uismax.
pred u is the scalar value before u in the set of Unicode scalar
values.
-
raises Invalid_argument
if
uismin.
valis_valid : ``int->bool
is_valid n is true if and only if n is a Unicode scalar value
(i.e. in the ranges 0x0000...0xD7FF or 0xE000...0x10FFFF).
valof_int : ``int->t
of_int i is i as a Unicode character.
-
raises Invalid_argument
if
idoes not satisfyis_valid.
valto_int :t->int
to_int u is u as an integer.
valis_char :t->bool
is_char u is true if and only if u is a latin1 OCaml character.
valof_char : ``char->t
of_char c is c as a Unicode character.
valto_char :t->char
to_char u is u as an OCaml latin1 character.
-
raises Invalid_argument
if
udoes not satisfyis_char.
valhash :t->int
hash u associates a non-negative integer to u.
UTF codecs tools
- since 4.14
typeutf_decode
The type for UTF decode results. Values of this type represent the result of a Unicode Transformation Format decoding attempt.
valutf_decode_is_valid :utf_decode->bool
utf_decode_is_valid d is true if and only if d holds a valid
decode.
valutf_decode_uchar :utf_decode->t
utf_decode_uchar d is the Unicode character decoded by d if
utf_decode_is_valid d is true and Uchar.rep otherwise.
valutf_decode_length :utf_decode->int
utf_decode_length d is the number of elements from the source that
were consumed by the decode d. This is always strictly positive and
smaller or equal to 4. The kind of source elements depends on the
actual decoder; for the decoders of the standard library this function
always returns a length in bytes.
valutf_decode : ``int->t->utf_decode
utf_decode n u is a valid UTF decode for u that consumed n
elements from the source for decoding. n must be positive and smaller
or equal to 4 (this is not checked by the module).
valutf_decode_invalid : ``int->utf_decode
utf_decode_invalid n is an invalid UTF decode that consumed n
elements from the source to error. n must be positive and smaller or
equal to 4 (this is not checked by the module). The resulting decode
has rep as the decoded Unicode character.
valutf_8_byte_length :t->int
utf_8_byte_length u is the number of bytes needed to encode u in
UTF-8.
valutf_16_byte_length :t->int
utf_16_byte_length u is the number of bytes needed to encode u in
UTF-16.
