ctype::do_narrow

Updated: March 2009

A virtual function called to convert a character of type CharType used by a locale to the corresponding character of type char in the native character set.

This method is potentially unsafe, as it relies on the caller to check that the passed values are correct. Consider using ctype::_Do_narrow_s instead.

virtual char do_narrow(
    CharType ch, 
    char default = '\0'
) const;
virtual const CharType* do_narrow(
    const CharType* first, 
    const CharType* last,
    char default, 
    char* dest
) const;

ch

The character of type Chartype used by the locale to be converted.

default

The default value to be assigned by the member function to characters of type CharType that do not have counterpart characters of type char.

first

A pointer to the first character in the range of characters to be converted.

last

A pointer to the character immediately following the last character in the range of characters to be converted.

dest

A const pointer to the first character of type char in the destination range that stores the converted range of characters.

The first protected member function returns the native character of type char that corresponds to the parameter character of type CharType or default if no counterpart is defined.

The second protected member function returns a pointer to the destination range of native characters converted from characters of type CharType.

The second protected member template function stores in dest[I] the value do_narrow(first [I], default), for I in the interval [0, lastfirst).

NoteNote:

Any specialization of ctype that overrides this method must also override the ctype::_Do_narrow_s method.

See the example for narrow, which calls do_narrow.

Header: <locale>

Namespace: std

Reference

Other Resources

Date

History

Reason

March 2009

Corrected.

Customer feedback.

Community Additions

ADD
Show: