class template


template <class charT, class OutputIterator = ostreambuf_iterator<charT> > class num_put;
Facet to format numeric values

The num_put standard facet formats numeric values as sequences of characters. Its member put is called by standard output streams (such as ostream) to format numerical values inserted with the insertion operator (operator<<).

The num_put class template has a protected destructor: Programs shall only construct objects of derived classes, or use those installed in locale objects (through use_facet).

All standard locale objects support at least the following facet instantiations of the num_put class template (as part of the numeric category):
facets in locale objectsnotes
num_put<char>narrow characters (used by ostream)
num_put<wchar_t>wide characters (used by wostream)

Template parameters

Character type: the type of the characters in the sequence to write.
Aliased as member char_type.
Output iterator type that points to the elements in the character sequence to write.
Defaults to ostreambuf_iterator, which is an iterator that can be implicitly converted from basic_ostream objects.
Aliased as member iter_type.

Member types

member typedefinitiondescription
char_typeThe first template parameter (charT)Character type
iter_typeThe second template parameter (OutputIterator)Iterator type.
Defaults to ostreambuf_iterator<charT>

Member constants

The class contains a public static constant of type locale::id that uniquely identifies facets with num_put semantics.

Public member functions

Virtual protected member functions


At least the following specializations and partial specializations of this template are provided in all library implementations:
template <class OutputIterator> num_put<char,OutputIterator>
template <class OutputIterator> num_put<wchar_t,OutputIterator>

Where OutputIterator shall be a type that satisfies the requirements of an output iterator able to iterate over elements of the specified character type.