immutable class CHAR < $CHAR{CHAR}
****

________This_class_implements_the_notion_of_a_logical_character_(ie_having
___the_semantics_associated_with_such_a_token_in_the_cultural_environment
___concerned)_having_a_single_encoding!
___NOTE_For_characters_which_require_multiple_encodings_see_the_class_RUNE
________in_this_section_of_the_required_library.


Ancestors
$CHAR{_} $ANCHORED_FMT $FMT $STR
$BINARY $HASH $IS_EQ $ORDERED{_}
$IS_LT{_} $VALUE{_} $NIL $IS_NIL



Public


Constants
const num_codes : CARD := 1 ;

Features
aget( .. Included as aget
aset( .. Included as aset
binstr(lib : LIBCHARS) : BINSTR
binstr : BINSTR
build(index : BIN_CURSOR) : SAME
build(cursor : BIN_CURSOR, lib : LIBCHARS) : SAME
build( .. Included as build
char : SAME
**** This routine returns self.
code(lib : LIBCHARS) : CHAR_CODE
code : CHAR_CODE
****
________This_routine_returns_the_bit-pattern_of_self_as_a_character_code
___belonging_to_the_default_repertoire_and_encoding.__Since_any_bit-pattern
___will_do_there_can_neither_be_sensible_nor_meaningful_pre/post
___conditions!
convert(lib : LIBCHARS) : CHAR
convert( from_lib : LIBCHARS, to_lib : LIBCHARS ) : CHAR
create(str : BINSTR) : SAME .. Included as create
create(code : CHAR_CODE) : SAME
create(code : CONTROL_CODES, lib : LIBCHARS) : SAME
digit_value( .. Included as digit_value
digit_value : CARD .. Included as digit_value
fmt( .. Included as fmt
fmt( .. Included as fmt
hash : CARD
hex_digit_value( .. Included as hex_digit_value
hex_digit_value : CARD .. Included as hex_digit_value
inspect
inspect_pat
is_alpha( .. Included as is_alpha
is_alpha : BOOL .. Included as is_alpha
is_alphanum( .. Included as is_alphanum
is_alphanum : BOOL .. Included as is_alphanum
is_control( .. Included as is_control
is_control : BOOL .. Included as is_control
is_digit( .. Included as is_digit
is_digit : BOOL .. Included as is_digit
is_downmapped( .. Included as is_downmapped
is_downmapped : BOOL .. Included as is_downmapped
is_eq(other : SAME) : BOOL
****
________This_predicate_returns_true_if_and_only_if_self_and_other_are
___the_same_character_irrespective_of_encoding!!
is_eq(other : $OB) : BOOL .. Included as is_eq
**** This is the generic equality predicate. c.f. the class $IS_EQ
is_hex_digit( .. Included as is_hex_digit
is_hex_digit : BOOL .. Included as is_hex_digit
is_lower( .. Included as is_lower
is_lower : BOOL .. Included as is_lower
is_lt(other : SAME) : BOOL
****
________This_predicate_returns_true_if_and_only_if_self_is_earlier_than
___other_in_the_repertoire_defined_ordering_of_characters.
is_nil : BOOL
****
________This_routine_returns_true_if_and_only_if_self_is_the_nil_character.
is_numeric( .. Included as is_numeric
is_numeric : BOOL .. Included as is_numeric
is_octal_digit( .. Included as is_octal_digit
is_octal_digit : BOOL .. Included as is_octal_digit
is_print( .. Included as is_print
is_print : BOOL .. Included as is_print
is_punct( .. Included as is_punct
is_punct : BOOL .. Included as is_punct
is_space( .. Included as is_space
is_space : BOOL .. Included as is_space
is_upmapped( .. Included as is_upmapped
is_upmapped : BOOL .. Included as is_upmapped
is_upper( .. Included as is_upper
is_upper : BOOL .. Included as is_upper
lower(lib : LIBCHARS) : SAME
lower : SAME
nil : SAME
****
________This_routine_returns_a_nil_value_-_which_cannot_be_a_valid_character.
null : SAME
****
________This_routine_returns_the_character_corresponding_to_the_control
___function_name_NUL.
octal_digit_value( .. Included as octal_digit_value
octal_digit_value : CARD .. Included as octal_digit_value
read(index : BIN_CURSOR) : SAME .. Included as read
rune(lib : LIBCHARS) : RUNE
rune : RUNE
****
________This_routine_returns_the_bit-pattern_of_self_as_a_rune_in_the_default
___repertoire_and_encoding.__Since_any_bit-pattern_may_be_used,_there_can_be
___neither_sensible_nor_meaningful_pre/post_conditions.
str( .. Included as str
str : STR .. Included as str
upper(lib : LIBCHARS) : SAME
upper : SAME
valid(num : CARD) : BOOL
****
________This_predicate_returns_true_if_and_only_if_the_value_of_num_may_be
___interpreted_as_a_character_bit-pattern_in_the_default_repertoire_and
___encoding,_otherwise_false.
valid(num : CARD, lib : LIBCHARS) : BOOL
valid_number(lib : LIBCHARS) : BOOL
**** This predicate is used to test if self CHAR will fit into the
___number_of_bits_available_for_codes_using_lib.___It_returns_true_if_and
___only_if_the_value_will_fit.
write(fyle : BIN_FILE) .. Included as write

Iters
aelt!( .. Included as aelt!
aelt!( .. Included as aelt!
aelt!( .. Included as aelt!
aelt! : T .. Included as aelt!
aind! : CARD .. Included as aind!
code!(once lib : LIBCHARS) : CHAR_CODE
****
________This_iter_merely_yields_the_single_code_-_in_the_given_encoding_-
___corresponding_to_self!
code! : CHAR_CODE
****
________This_iter_merely_yields_the_single_code!


Private

const asize : CARD := 4 ;
**** Always!
is_legal_aelts_arg( .. Included as is_legal_aelts_arg

The Sather Home Page