# A55.5.0+dev0-2025-04-28/%Uchar!tA;@@@A@@@@@6../../stdlib/uchar.mliTU@)immediateU U@@ U @@A@%Uchar@@A@#min%Uchar/!t@@@@]]@@A@@#max%Uchar0!t@@@@.`/`@@#B@@#bom%Uchar1!t@@@@?c@c@@4C@@#rep%Uchar2!t@@@@PjmmQjmx@@ED@@$succ@%Uchar3!t@@@%Uchar4!t@@@@@@kqlq@@`E@@$pred@%Uchar5!t@@@%Uchar6!t@@@@@@ww@@{F@@(is_valid@#int7@@@$bool8@@@@@@}00}0J@@G@@&of_int@9@@@%Uchar:!t@@@@@@AA@@H@@-unsafe_of_int@/;@@@%Uchar@@@@@@J  J  @@J@@'is_char@%Uchar?!t@@@a@@@@@@@M  M  @@K@@'of_char@$charA@@@%UcharB!t@@@@@@P : :P : Q@@ L@@'to_char@%UcharC!t@@@!D@@@@@@.S  /S  @@#M@@.unsafe_to_char @%UcharE!t@@@9F@@@@@@FY  GY  =@@;N@@%equal!@%UcharG!t@@@@%UcharH!t@@@I@@@@@@@@h\ G Gi\ G a@@]O@@'compare"@%UcharJ!t@@@@%UcharK!t@@@L@@@@@@@@_  _  @@P@@+seeded_hash#@M@@@@%UcharN!t@@@O@@@@@@@@b  b  @@Q@@$hash$@%UcharP!t@@@+Q@@@@@@i  i  @@R@@*utf_decode%B;@@A@@@@@uZZuZw@)immediateuZmuZv@@uZj @@A@S@A@3utf_decode_is_valid&@%UcharR*utf_decode@@@PS@@@@@@yy/@@T@@0utf_decode_uchar'@%UcharT*utf_decode@@@%UcharU!t@@@@@@}}@@U@@1utf_decode_length(@%UcharV*utf_decode@@@W@@@@@@88 8a@@V@@*utf_decode)@X@@@@%UcharY!t@@@%UcharZ*utf_decode@@@@@@@@AB@@6W@@2utf_decode_invalid*@[@@@%Uchar\*utf_decode@@@@@@YZ@@NX@@;utf_8_decode_length_of_byte+@\]@@@^@@@@@@no@@cY@@7max_utf_8_decode_length,_@@@@|}(@@qZ@@1utf_8_byte_length-@%Uchar`!t@@@a@@@@@@@@[@@2utf_16_byte_length.@%Ucharb!t@@@c@@@@@@)))J@@\@@@33Unicode characters.@@@@$4.03@@@@@@@A6../../stdlib/uchar.mli#'Uchar.t3 The type for Unicode characters.@ 3 A value of this type represents a Unicode 1http://unicode.org/glossary/#unicode_scalar_value0scalar value@ # which is an integer in the ranges &0x0000#...&0xD7FF( or &0xE000#...(0x10FFFF!.@@@@@@@@@@@@@@A@@@@)Uchar.min3#min+ is U+0000.@@@@@@@@@@@@@@@@ޠ)Uchar.max3#max- is U+10FFFF.@@@@@@@@@@@@@@@@ܠ)Uchar.bom3#bom4 is U+FEFF, the ,http://unicode.org/glossary/#byte_order_mark/byte order mark@5 (BOM) character.@@@@$4.06@@@@@@@@@@@堕)Uchar.rep3#rep4 is U+FFFD, the 2http://unicode.org/glossary/#replacement_character+replacement@/ character.@@@@$4.06@@@@@@@@@@@*Uchar.succ3&succ u; is the scalar value after !u ) in the set of Unicode scalar values.@@@@@@@@0Invalid_argument#if !u$ is aD@!.@@@@@ @  @@@@*Uchar.pred3&pred u< is the scalar value before !u ) in the set of Unicode scalar values.@@@@@@@@0Invalid_argument#if !u$ is D@!.@@@@@@+@@@@ .Uchar.is_valid3*is_valid n$ is $true0 if and only if !n 3 is a Unicode scalar value (i.e. in the ranges &0x0000#...&0xD7FF$ or &0xE000#...(0x10FFFF").@@@@@@@@@@@@5@a6@@@@,,Uchar.of_int3(of_int i$ is !i8 as a Unicode character.@@@@@@@@0Invalid_argument#if !i2 does not satisfy TD@!.@@@@@H@I@@@@>,Uchar.to_int3(to_int u$ is !u/ as an integer.@@@@@@@@@@@@0@1@@@@&-Uchar.is_char3)is_char u$ is $true0 if and only if !u= is a latin1 OCaml character.@@@@@@@@@@@@6@7@@@@,-Uchar.of_char3)of_char c$ is !c8 as a Unicode character.@@@@@@@@@@@@6@7@@@@+-Uchar.to_char3)to_char u$ is !u> as an OCaml latin1 character.@@@@@@@@0Invalid_argument#if !u2 does not satisfy TD@!.@@@@@G@H@@@@=+Uchar.equal3*equal u u'$ is &u = u'!.@@@@@@@@@@@@/@0@)@@@@-Uchar.compare3,compare u u'$ is 3Stdlib.compare u u'!.@@@@@@@@@@@@(@6)@9"@@@@1Uchar.seeded_hash32seeded_hash seed u : A seeded hash function with the same output value as 3Hashtbl.seeded_hash@@ R. This function allows this module to be passed as an argument to the functor 2Hashtbl.MakeSeeded@@!.@@@@#5.3@@@@@@@)@Y*@\&@@@@*Uchar.hash3 8An unseeded hash function with the same output value as ,Hashtbl.hash@@ V. This function allows this module to be passed as an argument to the functor ,Hashtbl.Make@@!.@@@@@#5.3 -The hashing algorithm was different. Use /Hashtbl.rebuild 7 for stored tables which used this hashing function@@@@@@@@4@5@@@@*A#utf0UTF codecs tools@@#0Uchar.utf_decode3 The type for UTF decode results. Values of this type represent the result of a Unicode Transformation Format decoding attempt.@@@@@@@@@@@@@@A@@65@@9Uchar.utf_decode_is_valid35utf_decode_is_valid d$ is $true0 if and only if !d: holds a valid decode.@@@@@@@@@@@@=@>@@@@36Uchar.utf_decode_uchar32utf_decode_uchar d % is the Unicode character decoded by !d( if 5utf_decode_is_valid d$ is $true% and D@+ otherwise.@@@@@@@@@@@@O@P@@@@B7Uchar.utf_decode_length33utf_decode_length d P 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.@@@@@@@@@@@@R@S@@@@H0Uchar.utf_decode3.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).@@@@@@@@@@@@d@)e@,a@@@@S8Uchar.utf_decode_invalid34utf_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 C (this is not checked by the module). The resulting decode has D@ " as the decoded Unicode character.@@@@@@@@@@@@o@Vp@@@@e !Uchar.utf_8_decode_length_of_byte3 utf_8_decode_length_of_byte byte ' is the number of bytes, from 1 to =Uchar.max_utf_8_decode_lengthD@ 3, that a valid UTF-8 decode starting with byte $byte2 would consume or !0$ if $byte ! cannot start a valid decode.@@@@#5.4@@@@@@@@@@@@}!37max_utf_8_decode_length$ is !4 N, the maximal number of bytes a valid or invalid UTF-8 decode can consume.@@@@#5.4@@@@@@@@@@@7Uchar.utf_8_byte_length33utf_8_byte_length u - is the number of bytes needed to encode !u* in UTF-8.@@@@@@@@@@@@@@@@@8Uchar.utf_16_byte_length34utf_16_byte_length u - is the number of bytes needed to encode !u+ in UTF-16.@@@@@@@@@@@@@@@@@@@}@@A@@@@@