virtual char do_narrow(E ch, char dflt) const;
virtual const E *do_narrow(const E *first, const E *last,
    char dflt, char *dst) const;The first protected member template function returns (char)ch, or dflt if that expression is undefined.
The second protected member template function stores in dst[I] the value do_narrow(first[I], dflt), for I in 
the interval [0, last - first).