13.3 Case mappings of substrings

Case mapping of a substring cannot simply be performed by extracting the
substring and then applying the case mapping function to it. This does not
work because case mapping requires some information about the surrounding
characters. The following functions allow to apply case mappings to
substrings of a given string, while taking into account the characters that
precede it (the “prefix”) and the characters that follow it (the “suffix”).

— Type: casing_prefix_context_t

This data type denotes the case-mapping context that is given by a prefix
string. It is an immediate type that can be copied by simple assignment,
without involving memory allocation. It is not an array type.

— Constant: casing_prefix_context_t unicase_empty_prefix_context

This constant is the case-mapping context that corresponds to an empty prefix
string.

Returns the case-mapping context of the prefix concat(a, s),
given the case-mapping context of the prefix a.

— Type: casing_suffix_context_t

This data type denotes the case-mapping context that is given by a suffix
string. It is an immediate type that can be copied by simple assignment,
without involving memory allocation. It is not an array type.

— Constant: casing_suffix_context_t unicase_empty_suffix_context

This constant is the case-mapping context that corresponds to an empty suffix
string.