cpp/locale/ctype/widen

@1,2@ Public member function, calls the corresponding protected virtual member function overload of the most derived class. Overload (1) calls, overload (2) calls. @3@ Converts the single-byte character to the corresponding wide character representation using the simplest reasonable transformation. Typically, this applies only to the characters whose multibyte encoding is a single byte (e.g. U+0000-U+007F in UTF-8). @4@ For every character in the character array, writes the corresponding widened character to the successive locations in the character array pointed to by.

Widening always returns a wide character, but only the characters from the are guaranteed to have a unique, well-defined, widening transformation, which is also guaranteed to be reversible (by narrow). In practice, all characters whose multibyte representation is a single byte are usually widened to their wide character counterparts, and the rest of the possible single-byte values are usually mapped into the same placeholder value, typically.

Widening, if successful, preserves all character classification categories known to is.

Return value
@1,3@ widened character @2,4@