public member function
iter_type put (iter_type out, ios_base& str, char_type fill, bool val) const;
iter_type put (iter_type out, ios_base& str, char_type fill, long val) const;
iter_type put (iter_type out, ios_base& str, char_type fill, unsigned long val) const;
iter_type put (iter_type out, ios_base& str, char_type fill, double val) const;
iter_type put (iter_type out, ios_base& str, char_type fill, long double val) const;
iter_type put (iter_type out, ios_base& str, char_type fill, const void* val) const;
Put numerical value
as a sequence of characters.
For the process, it uses the formatting options selected in the object passed as str
(using its ios_base::fmtflags
value and its imbued locale
), as well as fill
as fill character
The function writes the characters resulting from the formatting operation into the sequence whose first character location is pointed by out
An iterator to the character right after the last element written to the output sequence is returned by the function.
During its operation, the version of this function in the generic template simply calls the virtual protected member do_put
, which is the member function in charge of performing the actions described above.
- Iterator pointing to the first character of the output sequence.
The sequence shall be large enough to contain the whole expression.
iter_type is a member alias of the second template parameter of time_put (i.e., the facet's iterator type). This can be any output iterator. By default, this is an ostreambuf_iterator, allowing implicit conversions from ostream objects such as cout.
- Object of a class derived from ios_base (generally an output stream object). It is only used to obtain formatting information.
- Fill character. The fill character is used in output insertion operations to fill spaces when results have to be padded to the field width.
char_type is a member alias of the first template parameter of num_put (i.e., the facet's character type).
- Value to be formatted.
The next character in the sequence right after the last one written.
is a member alias of num_put
's second template parameter (i.e., the facet's iterator type).
// num_put example
using namespace std;
int main ()
use_facet<num_put<char> >(cout.getloc()).put (cout, cout, '0', 3.14159265);
cout << endl;
- Get numeric value (public member function)
- Insert formatted output (public member function