| (1) | |||
| (2) | |||
| (3) | |||
| (4) | (since C++11) | ||
| (5) | |||
| (6) | |||
| (7) | |||
| (8) | |||
| (9) | |||
| (10) | |||
| (11) |
Inserts data into the stream.
1-2) Behaves as an
FormattedOutputFunction
. After constructing and checking the sentry object, if value
is short
or int
, then casts it to unsigned short
or unsigned int
if ios_base::flags() & ios_base::basefield
is ios_base::oct
or ios_base::hex
. After that, casts to long
in any case and outputs as in (3). If value
is unsigned short
or unsigned int
, casts to unsigned long
and outputs as in (3). 3-7) Behaves as an
FormattedOutputFunction
. After constructing and checking the sentry object, inserts an integer, floating point, boolean or generic pointer value by calling num_put::put()
. If the end of file condition was encountered during output (put().failed() == true
), sets ios::badbit
. 8) Behaves as an
UnformattedOutputFunction
. After constructing and checking the sentry object, checks if sb
is a null pointer. If it is, executes setstate(badbit)
and exits. Otherwise, extracts characters from the input sequence controlled by sb
and inserts them into *this
until one of the following conditions are met: - end-of-file occurs on the input sequence;
- inserting in the output sequence fails (in which case the character to be inserted is not extracted);
- an exception occurs (in which case the exception is caught).
setstate(failbit)
. If an exception was thrown while extracting, sets failbit
and, if failbit
is set in exceptions()
, rethrows the exception. 9-11) Calls
func(*this);
. These overloads are used to implement output I/O manipulators such as std::endl
.Parameters
value | - | integer, floating-point, boolean, or pointer value to insert |
func | - | function to call |
sb | - | pointer to the streambuffer to read the data from |
Return value
1-10)
*this
11)
func(*this)
Notes
There are no overload for pointers to volatile or function pointers (other than the ones with signatures accepted by the (9-11) overloads). Attempting to output such objects invokes implicit conversion to bool
, and, for any non-null pointer value, the value 1
is printed (unless boolalpha
was set).
The arguments of type char
and const char*
are handled by the non-member overloads of operator<<
.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> #include <iomanip> #include <sstream> int main() { std::istringstream input( " \"Some text.\" " ); volatile int n = 42; double f = 3.14; bool b = true ;; std::cout << n // int overload << ' ' // non-member overload << std::boolalpha << b // bool overload << " " // non-member overload << std::fixed << f // double overload << input.rdbuf() // streambuf overload << &n // bool overload << std::endl; // function overload } |
Output:
1 | 42 true 3.140000 "Some text." true |
See also
inserts character data (function template) | |
performs stream I/O of strings (function template) | |
performs stream input and output of bitsets (function) | |
serializes and deserializes a complex number (function template) | |
performs stream input and output on pseudo-random number engine (function template) | |
performs stream input and output on pseudo-random number distribution (function template) | |
inserts a character (public member function) | |
inserts blocks of characters (public member function) |
Please login to continue.