Section Header

    + name := Expanded CHAR_UNICODE -> UINTEGER_16;

    - comment := "Static Unicode Character library .";

    - type := `unsigned short`;

    - default := '\0';

Section Insert

    - parent_character_ref:CHARACTER_REF :=

Section Public

    - in_range low:CHAR_UNICODE to up:CHAR_UNICODE :BOOLEAN <-

General :


    - object_size:INTEGER :=

    - pointer_size:INTEGER :=

    - maximum:INTEGER :=

    - minimum:INTEGER :=
- '==' other:CHAR_UNICODE :BOOLEAN <- (code == other.code); BSBS=> JBJB A revoir

    - to_uinteger_16:UINTEGER_16 <-
        Auto-cast
- print <- to_uinteger_16.print; BSBS-> JBJB a revoir !!

    - to_integer:INTEGER <-
        Sign-extended conversion.

    - code:INTEGER_8 <-
        ASCII code of Current.
        No Sign-extended conversion.

Print.


    - print <-

Switch case :


    - when value:CHAR_UNICODE then block:BLOCK :CHAR_UNICODE <-

    - when first_value:CHAR_UNICODE to last_value:CHAR_UNICODE then block:BLOCK :CHAR_UNICODE <-

Binary operator :


    - '+' other:CHAR_UNICODE :CHAR_UNICODE <-

    - '-' other:CHAR_UNICODE :CHAR_UNICODE <-

    - '!==' other:CHAR_UNICODE :BOOLEAN <-
        Comparison using `code'.

    - '==' other:CHAR_UNICODE :BOOLEAN <-
        Comparison using `code'.

    - '<' other:CHAR_UNICODE :BOOLEAN <-
        Comparison using `code'.

    - '<=' other:CHAR_UNICODE :BOOLEAN <-
        Comparison using `code'.

    - '>' other:CHAR_UNICODE :BOOLEAN <-
        Comparison using `code'.

    - '>=' other:CHAR_UNICODE :BOOLEAN <-
        Comparison using `code'.

    - decimal_value:INTEGER <-
        Gives the value of a decimal digit.

    - binary_value:INTEGER <-
        Gives the value of a binary digit.

    - octal_value:INTEGER <-
        Gives the value of an octal digit.

    - hexadecimal_value:INTEGER <-
        Gives the value of an hexadecimal digit.

    - same_as other:CHAR_UNICODE :BOOLEAN <-
        Case insensitive comparison.
        No difference between upper/lower case letters.

    - to_upper:CHAR_UNICODE <-
        Conversion to the corresponding upper case.

    - to_lower:CHAR_UNICODE <-
        Conversion to the corresponding lower case.

    - is_letter:BOOLEAN <-
        Is it a letter ('a' .. 'z' or 'A' .. 'Z') ?

    - is_digit:BOOLEAN <-
        Belongs to '0'..'9'.

    - is_binary_digit:BOOLEAN <-
        Belongs to '0'..'1'.

    - is_octal_digit:BOOLEAN <-
        Belongs to '0'..'7'.

    - is_hexadecimal_digit:BOOLEAN <-
        Is it one character of "0123456789abcdefABCDEF" ?

    - is_lower:BOOLEAN <-
        Is it some lowercase letter ('a'..'z')?

    - is_upper:BOOLEAN <-
        Is it some uppercase letter ('A'..'Z')?

    - is_separator:BOOLEAN <-
        True when character is a separator.

    - is_letter_or_digit:BOOLEAN <-
        Is it a letter (see `is_letter') or a digit (see `is_digit') ?

    - is_ascii:BOOLEAN :=
        Is character a 8-bit ASCII character?

    - is_bit:BOOLEAN <-
        True for `0' and `1'.

    - next:CHAR_UNICODE <-
        Give the next character (the following `code');

    - previous:CHAR_UNICODE <-
        Give the previous character (the `code' before);

Conversions:


    - to_hexadecimal:STRING <-
        Create a new STRING giving the `code' in hexadecimal.
        For example :
        (255).to_character.to_hexadecimal gives "FF".
        Note: see `to_hexadecimal_in' to save memory.

    - to_hexadecimal_in str:STRING <-
        Append the equivalent of `to_hexadecimal' at the end of
        `str'. Thus you can save memory because no other
        STRING is allocate for the job.

Miscellaneous:


    - is_alpha:BOOLEAN <-
        See `is_letter' (yes this is just a call to `is_letter').
        Isn't `is_letter' better English ;-)

Hashing :


    - hash_code: INTEGER <-