std::num_put (3) - Linux Manuals
std::num_put: std::num_put
NAME
Synopsis
Defined in header <locale>
template<
class CharT,
class OutputIt = std::ostreambuf_iterator<CharT>
> class num_put;
Class std::num_put encapsulates the rules for formatting numeric values as strings. Specifically, the types bool, long, unsigned long, long long, unsigned long long, double, long double, void*, and of all types implicitly convertible to these (such as int or float) are supported. The standard formatting output operators (such as cout << n;) use the std::num_put facet of the I/O stream's locale to generate text representation of numbers.
std-num put-inheritance.svg
Inheritance diagram
Type requirements
-
OutputIt must meet the requirements of LegacyOutputIterator.
Specializations
Two standalone (locale-independent) full specializations and two partial specializations are provided by the standard library:
Defined in header <locale>
std::num_put<char> creates narrow string representations of numbers
std::num_put<wchar_t> creates wide string representations of numbers
std::num_put<char, OutputIt> creates narrow string representations of numbers using custom output iterator
std::num_put<wchar_t, OutputIt> creates wide string representations of numbers using custom output iterator
In addition, every locale object constructed in a C++ program implements its own (locale-specific) versions of these specializations.
Member types
Member type Definition
char_type CharT
iter_type OutputIt
Member functions
constructor (public member function)
destructor (protected member function)
put (public member function)
Protected member functions
do_put formats a number and writes to output stream
[virtual]
Member objects
static std::locale::id id (public member object)
Example
// Run this code
Output:
See also
numpunct (class template)
num_get (class template)
to_string converts an integral or floating point value to string
(C++11)
to_wstring converts an integral or floating point value to wstring
(C++11)