Objects of the ostream class can be constructed and destructed.
public:virtual ~ostream()
This is supported on

Destructs an ostream object.
public:ostream(streambuf*)
This is supported on

This constructor takes a single argument which is a pointer to a streambuf object. This constructor creates an ostream object that is attached to the streambuf object pointed to by the argument. The format variables are initialized to their defaults.
public:ostream(int fd)
This is supported on

This constructor is obsolete; do not use it.
public:ostream(int size, char*)
This is supported on

This constructor is obsolete; do not use it.
protected:ostream()
This is supported on

This constructor is obsolete; do not use it.
You can use the insertion functions to insert characters into a stream buffer as a sequence of bytes.
public:ostream& complicated_put(char c)
This is supported on

public:ostream& flush()
This is supported on

The ultimate consumer of characters that are stored in a stream buffer may not necessarily consume them immediately. flush() causes any characters that are stored in the stream buffer attached to the output stream to be consumed.
When ostream::flush() is called, one of the following occurs:
public:ostream& ls_complicated(char)
This is supported on

Internal function. Do not use.
public:ostream& ls_complicated(signed char)
This is supported on

Internal function. Do not use.
public:ostream& ls_complicated(unsigned char)
This is supported on

Internal function. Do not use.
public:ostream& put(char c)
This is supported on

Inserts c into the stream buffer attached to the output stream. put() sets the error state of the output stream if the insertion fails.
public:ostream& write(const signed char* s, int n)
This is supported on

Inserts n characters that begin at the position pointed to by s. This array of characters does not need to end with a null character.
public:ostream& write(const char* s, int n)
This is supported on

Inserts n characters that begin at the position pointed to by s. This array of characters does not need to end with a null character.
public:ostream& write(const unsigned char* s, int n)
This is supported on

Inserts n characters that begin at the position pointed to by s. This array of characters does not need to end with a null character.
The output operator calls the output prefix function opfx() before inserting characters into a stream buffer, and calls the output suffix function osfx() after inserting characters.
public:ostream& operator <<(const unsigned char*)
This is supported on

The output operator inserts all the characters in the string into the stream buffer with the exception of the null character that terminates the string.
If ios::x_width is greater than zero and the representation of the value to be inserted is less than ios::x_width, the output operator inserts enough fill characters to ensure that the representation occupies an entire field in the stream buffer.
public:ostream& operator <<(const char*)
This is supported on

The output operator inserts all the characters in the string into the stream buffer with the exception of the null character that terminates the string.
If ios::x_width is greater than zero and the representation of the value to be inserted is less that ios::x_width, the output operator inserts enough fill characters to ensure that the representation occupies an entire field in the stream buffer.
public:ostream& operator <<(const void*)
This is supported on

The output operator converts pointers to void to integral values and then converts them to hexadecimal values as if ios::showbase were set. This version of the output operator is used to print out the values of pointers.
public:ostream& operator <<(ios & ( * f ) ( ios & ))
This is supported on

The following built-in manipulators are accepted by this output operator:
ios& dec(ios&)
ios& hex(ios&)
ios& oct(ios&)
These manipulators have a specific effect on an ostream object beyond inserting their own values. For example, If outs is a reference to an ostream object, then this statement sets ios::dec:
outs << dec;
public:ostream& operator <<(unsigned char c)
This is supported on

The output operator inserts the character into the stream buffer without performing any conversion on it.
public:ostream& operator <<(unsigned long)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
public:ostream& operator <<(long long)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
Note: The support for long long is controlled by _LONG_LONG, __EXTENDED__, or the -q(no)longlong option.
public:ostream& operator <<(unsigned int a)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
public:ostream& operator <<(double)
This is supported on

The output operator performs a conversion operation on the argument and inserts it into the stream buffer attached to the output stream. The conversion depends on the values returned by the following functions:
The conversion also depends on the values of the following format flags:
public:ostream& operator <<(short i)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
public:ostream& operator <<(long double)
This is supported on

The output operator performs a conversion operation on the argument and inserts it into the stream buffer attached to the output stream. The conversion depends on the values returned by the following functions:
The conversion also depends on the values of the following format flags:
public:ostream& operator <<(int a)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
public:ostream& operator <<(long)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
public:ostream& operator <<(unsigned long long)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
Note: The support for long long is controlled by _LONG_LONG, __EXTENDED__, or the -q(no)longlong option.
public:ostream& operator <<(unsigned short i)
This is supported on

The output operator converts the integral value according to the format state of the output stream and inserts characters into the stream buffer associated with the output stream. There is no overflow detection on conversion of integral types.
The conversion that takes place depends, in part, on the settings of the following format flags:
If none of these format flags is set, the integral type is converted to a series of decimal digits. Then its sign also affects the conversion:
public:ostream& operator <<(const wchar_t*)
This is supported on

The output operator converts the wchar_t string to its equivalent multibyte character string, and then inserts it into the stream buffer with the exception of the null character that terminates the string.
If ios::x_width is greater than zero and the representation of the value to be inserted is less than ios::x_width, the output operator inserts enough fill characters to ensure that the representation occupies an entire field in the stream buffer.
public:ostream& operator <<(signed char c)
This is supported on

The output operator inserts the character into the stream buffer without performing any conversion on it.
public:ostream& operator <<(float)
This is supported on

The output operator performs a conversion operation on the argument and inserts it into the stream buffer attached to the output stream. The conversion depends on the values returned by the following functions:
The conversion also depends on the values of the following format flags:
public:ostream& operator <<(ostream & ( * f ) ( ostream & ))
This is supported on

The following built-in manipulators are accepted by this output operator:
ostream& endl(ostream&)
ostream& ends(ostream&)
ostream& flush(ostream&)
These manipulators have a specific effect on an ostream object beyond inserting their own values. For example, If outs is a reference to an ostream object, then this statement inserts a newline character and calls flush():
outs << endl;
This statement inserts a null character:
outs << ends;
This statement flushes the stream buffer attached to outs. It is equivalent to flush():
outs << flush;
public:ostream& operator <<(wchar_t)
This is supported on

The output operator inserts the character into the stream buffer without performing any conversion on it.
public:ostream& operator <<(streambuf*)
This is supported on

If opfx() returns a nonzero value, the output operator inserts all of the characters that can be taken from the streambuf pointer into the stream buffer attached to the output stream. Insertion stops when no more characters can be fetched from the streambuf. No padding is performed.
public:ostream& operator <<(const signed char*)
This is supported on

The output operator inserts all the characters in the string into the stream buffer with the exception of the null character that terminates the string.
If ios::x_width is greater than zero and the representation of the value to be inserted is less than ios::x_width, the output operator inserts enough fill characters to ensure that the representation occupies an entire field in the stream buffer.
public:ostream& operator <<(char c)
This is supported on

The output operator inserts the character into the stream buffer without performing any conversion on it.
Functions that work with the put pointer of the ultimate consumer.
public:ostream& seekp(streampos p)
This is supported on

Repositions the put pointer of the ultimate consumer. Sets the put pointer to the position p.
public:ostream& seekp(streamoff o, ios::seek_dir d)
This is supported on

Repositions the put pointer of the ultimate consumer. Sets the put pointer to the position specified by d with the offset of o. The seek dir, d, can have the following values:
The new position of the put pointer is equal to the position specified by d offset by the value o. If you attempt to move the put pointer to a position that is not valid, seekp() sets ios::badbit.
public:streampos tellp()
This is supported on

Returns the current position of the put pointer of the stream buffer that is attached to the output stream.
Functions that are called either before or after inserting characters into the ultimate consumer.
public:int opfx()
This is supported on

opfx() is called by the output operator before inserting characters into a stream buffer. opfx() checks the error state of the output stream. If the internal flag ios::hardfail is set, opfx() returns 0. Otherwise, opfx() flushes the stream buffer attached to the ios object pointed to by tie(), if one exists, and returns the value returned by ios::good(). ios::good() returns 0 if ios::failbit, ios::badbit, or ios:eofbit is set. Otherwise, ios::good() returns a nonzero value.
public:void osfx()
This is supported on

osfx() is called before a formatted output function returns. osfx() flushes the streambuf object attached to the output stream if ios::unitbuf is set.
osfx() is called by the output operator. If you overload the output operator to handle your own classes, you should ensure that osfx() is called after any direct manipulation of a streambuf object. Binary output functions do not call osfx().
protected:int do_opfx()
This is supported on

Internal function. Do not use.
protected:void do_osfx()
This is supported on

Internal function. Do not use.