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

explicit basic_ostream(basic_streambuf<Elem, Tr> *strbuf);
class sentry;
virtual ~ostream();
basic_ostream& operator<<(
basic_ostream& (*pfn)(basic_ostream&));
basic_ostream& operator<<(
ios_base;& (*pfn)(ios_base&));
basic_ostream& operator<<(
basic_ios<Elem, Tr>& (*pfn)(basic_ios<Elem, Tr>&));
basic_ostream& operator<<(
basic_streambuf<Elem, Tr> *strbuf);
basic_ostream& operator<<(bool val);
basic_ostream& operator<<(short val);
basic_ostream& operator<<(unsigned short val);
basic_ostream& operator<<(int val);
basic_ostream& operator<<(unsigned int val);
basic_ostream& operator<<(long val);
basic_ostream& operator<<(unsigned long val);
basic_ostream& operator<<(float val);
basic_ostream& operator<<(double val);
basic_ostream& operator<<(long double val);
basic_ostream& operator<<(const void *val);
basic_ostream& put(char_type ch);
basic_ostream& write(char_type *str, streamsize count);
basic_ostream& flush();
pos_type tellp();
basic_ostream& seekp(pos_type pos);
basic_ostream& seekp(off_type off,
ios_base::seek_dir way);
};
The template class describes an object that controls insertion of elements and encoded objects into
a stream buffer with elements of type Elem, also known as char_type, whose character traits
are determined by the class Tr, also known as traits_type.
Most of the member functions that overload operator<< are formatted output functions.
They follow the pattern:
iostate state = goodbit;
const sentry ok(*this);
if (ok)
{try
{<convert and insert elements
accumulate flags in state> }