Standard C++ Library Reference ISO/IEC (VERSION3)

const unsigned char *str);
template<class Tr>
basic_ostream<char, Tr>&
operator<<(basic_ostream<char, Tr>& ostr,
unsigned char ch);
The template function:
template<class Elem, class Tr>
basic_ostream<Elem, Tr>&
operator<<(basic_ostream<Elem, Tr>& ostr,
const Elem *str);
determines the length N = traits_type::length(str) of the sequence beginning at
str, and inserts the sequence. If N < ostr.width(), then the function also inserts a
repetition of ostr.width() - N fill characters. The repetition precedes the sequence if
(ostr.flags() & adjustfield != left. Otherwise, the repetition follows the
sequence. The function returns ostr.
The template function:
template<class Elem, class Tr>
basic_ostream<Elem, Tr>&
operator<<(basic_ostream<Elem, Tr>& ostr,
Elem ch);
inserts the element ch. If 1 < ostr.width(), then the function also inserts a repetition of
ostr.width() - 1 fill characters. The repetition precedes the sequence if (ostr.flags()
& adjustfield != left. Otherwise, the repetition follows the sequence. It returns ostr.
The template function:
template<class Elem, class Tr>
basic_ostream<Elem, Tr>&
operator<<(basic_ostream<Elem, Tr>& ostr,
const char *str);
behaves the same as:
template<class Elem, class Tr>
basic_ostream<Elem, Tr>&
operator<<(basic_ostream<Elem, Tr>& ostr,
const Elem *str);
except that each element ch of the sequence beginning at str is converted to an object of type
Elem by calling ostr.put(ostr. widen(ch)).
The template function:
template<class Elem, class Tr>
basic_ostream<Elem, Tr>&
operator<<(basic_ostream<Elem, Tr>& ostr,