---
name: "std::num_put"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::num_put"
---

# std::num\_put(3)

Primary class template num\_put.

## NAME

std::num\_put\< \_CharT, \_OutIter \> - Primary class template num\_put.

## SYNOPSIS

\#include \<locale\>

Inherits **std::locale::facet**.

### Public Types

typedef \_CharT **char\_type**\
 Public typedefs.  typedef \_OutIter **iter\_type**\
 Public typedefs.

### Public Member Functions

**num\_put** (size\_t \_\_refs=0)\
 Constructor performs initialization.  template\<typename \_ValueT\> \_OutIter **\_M\_insert\_float** (\_OutIter \_\_s, **ios\_base** &\_\_io, \_CharT \_\_fill, char \_\_mod, \_ValueT \_\_v) const\
 template\<typename \_ValueT\> \_OutIter **\_M\_insert\_int** (\_OutIter \_\_s, **ios\_base** &\_\_io, \_CharT \_\_fill, \_ValueT \_\_v) const\
 **iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, bool \_\_v) const\
 Numeric formatting.  **iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, const void \*\_\_v) const\
 Numeric formatting.

**iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, long \_\_v) const\
 Numeric formatting.  **iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, unsigned long \_\_v) const\
 Numeric formatting.  **iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, long long \_\_v) const\
 Numeric formatting.  **iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, unsigned long long \_\_v) const\
 Numeric formatting.

**iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, double \_\_v) const\
 Numeric formatting.  **iter\_type** **put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, long double \_\_v) const\
 Numeric formatting.

### Static Public Attributes

static **locale::id** **id**\
 Numpunct facet id.

### Protected Member Functions

virtual **~num\_put** ()\
 Destructor.  void **\_M\_group\_float** (const char \*\_\_grouping, size\_t \_\_grouping\_size, **char\_type** \_\_sep, const **char\_type** \*\_\_p, **char\_type** \*\_\_new, **char\_type** \*\_\_cs, int &\_\_len) const\
 void **\_M\_group\_int** (const char \*\_\_grouping, size\_t \_\_grouping\_size, **char\_type** \_\_sep, **ios\_base** &\_\_io, **char\_type** \*\_\_new, **char\_type** \*\_\_cs, int &\_\_len) const\
 template\<typename \_ValueT\> **iter\_type** **\_M\_insert\_float** (**iter\_type**, **ios\_base** &\_\_io, **char\_type** \_\_fill, char \_\_mod, \_ValueT \_\_v) const\
 template\<typename \_ValueT\> **iter\_type** **\_M\_insert\_int** (**iter\_type**, **ios\_base** &\_\_io, **char\_type** \_\_fill, \_ValueT \_\_v) const\
 void **\_M\_pad** (**char\_type** \_\_fill, **streamsize** \_\_w, **ios\_base** &\_\_io, **char\_type** \*\_\_new, const **char\_type** \*\_\_cs, int &\_\_len) const\

virtual **iter\_type** **do\_put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, bool \_\_v) const\
 Numeric formatting.  virtual **iter\_type** **do\_put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, long \_\_v) const\
 Numeric formatting.  virtual **iter\_type** **do\_put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, unsigned long \_\_v) const\
 Numeric formatting.  virtual **iter\_type** **do\_put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, long long \_\_v) const\
 Numeric formatting.  virtual **iter\_type** **do\_put** (**iter\_type** \_\_s, **ios\_base** &\_\_io, **char\_type** \_\_fill, unsigned long long \_\_v) const\
 Numeric formatting.  virtual **iter\_type** **do\_put** (**iter\_type**, **ios\_base** &, **char\_type**, double) const\
 Numeric formatting.  virtual **iter\_type** **do\_put** (**iter\_type**, **ios\_base** &, **char\_type**, long double) const\
 Numeric formatting.  virtual **iter\_type** **do\_put** (**iter\_type**, **ios\_base** &, **char\_type**, const void \*) const\
 Numeric formatting.

### Static Protected Member Functions

static \_\_c\_locale **\_S\_clone\_c\_locale** (\_\_c\_locale &\_\_cloc)  throw ()\
 static void **\_S\_create\_c\_locale** (\_\_c\_locale &\_\_cloc, const char \*\_\_s, \_\_c\_locale \_\_old=0)\
 static void **\_S\_destroy\_c\_locale** (\_\_c\_locale &\_\_cloc)\
 static \_\_c\_locale **\_S\_get\_c\_locale** ()\
 static const char \* **\_S\_get\_c\_name** ()  throw ()\
 static \_\_c\_locale **\_S\_lc\_ctype\_c\_locale** (\_\_c\_locale \_\_cloc, const char \*\_\_s)\

## Detailed Description

### template\<typename \_CharT, typename \_OutIter\>

class std::num\_put\< \_CharT, \_OutIter \>"Primary class template num\_put.

This facet encapsulates the code to convert a number to a string. It is used by the ostream numeric insertion operators.

The num\_put template uses protected virtual functions to provide the actual results. The public accessors forward the call to the virtual functions. These virtual functions are hooks for developers to implement the behavior they require from the num\_put facet.

## Member Typedef Documentation

### template\<typename \_CharT, typename \_OutIter\> typedef \_CharT std::num\_put\< \_CharT, \_OutIter \>::char\_type

Public typedefs.

### template\<typename \_CharT, typename \_OutIter\> typedef \_OutIter std::num\_put\< \_CharT, \_OutIter \>::iter\_type

Public typedefs.

## Constructor & Destructor Documentation

### template\<typename \_CharT, typename \_OutIter\> std::num\_put\< \_CharT, \_OutIter \>::num\_put (size\_t \_\_refs = 0) \[inline\], \[explicit\]

Constructor performs initialization. This is the constructor provided by the standard.

**Parameters**

*\_\_refs* Passed to the base facet class.

### template\<typename \_CharT, typename \_OutIter\> virtual std::num\_put\< \_CharT, \_OutIter \>::~num\_put () \[inline\], \[protected\], \[virtual\]

Destructor.

## Member Function Documentation

### template\<typename \_CharT, typename \_OutIter\> \_OutIter std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, bool \_\_v) const \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

References **std::ios\_base::\_M\_getloc()**, **std::ios\_base::adjustfield**, **std::ios\_base::boolalpha**, **std::ios\_base::flags()**, **std::ios\_base::left**, and **std::ios\_base::width()**.

Referenced by **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**, **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**, **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**, **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**, **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**, **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**, **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**, and **std::num\_put\< \_CharT, ostreambuf\_iterator\< \_CharT, \_Traits \> \>::put()**.

### template\<typename \_CharT, typename \_OutIter\> virtual iter\_type std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, long \_\_v) const \[inline\], \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> virtual iter\_type std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, long long \_\_v) const \[inline\], \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> virtual iter\_type std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, unsigned long \_\_v) const \[inline\], \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> virtual iter\_type std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, unsigned long long \_\_v) const \[inline\], \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> \_OutIter std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, const void \* \_\_v) const \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

References **std::ios\_base::basefield**, **std::ios\_base::flags()**, **std::ios\_base::hex**, **std::ios\_base::showbase**, and **std::ios\_base::uppercase**.

### template\<typename \_CharT, typename \_OutIter\> \_OutIter std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, double \_\_v) const \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> \_OutIter std::num\_put\< \_CharT, \_OutIter \>::do\_put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, long double \_\_v) const \[protected\], \[virtual\]

Numeric formatting. These functions do the work of formatting numeric values and inserting them into a stream. This function is a hook for derived classes to change the value returned.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, bool \_\_v) const \[inline\]

Numeric formatting. Formats the boolean *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

If ios\_base::boolalpha is set, writes ctype\<CharT\>::truename() or ctype\<CharT\>::falsename(). Otherwise formats *v* as an int.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

Referenced by **std::basic\_ostream\< \_CharT, \_Traits \>::operator\<\<()**.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, const void \* \_\_v) const \[inline\]

Numeric formatting. Formats the pointer value *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

This function formats *v* as an unsigned long with ios\_base::hex and ios\_base::showbase set.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, double \_\_v) const \[inline\]

Numeric formatting. Formats the floating point value *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

Formatting is affected by the flag settings in *io*.

The basic format is affected by the value of io.flags() & ios\_base::floatfield. If equal to ios\_base::fixed, formats like the printf f specifier. Else if equal to ios\_base::scientific, formats like e or E with ios\_base::uppercase unset or set respectively. Otherwise, formats like g or G depending on uppercase. Note that if both fixed and scientific are set, the effect will also be like g or G.

The output precision is given by io.precision(). This precision is capped at numeric\_limits::digits10 + 2 (different for double and long double). The default precision is 6.

If ios\_base::showpos is set, '+' is output before positive values. If ios\_base::showpoint is set, a decimal point will always be output.

The decimal point character used is numpunct::decimal\_point(). Thousands separators are inserted according to numpunct::grouping() and numpunct::thousands\_sep().

If io.width() is non-zero, enough *fill* characters are inserted to make the result at least that wide. If (io.flags() & ios\_base::adjustfield) == ios\_base::left, result is padded at the end. If ios\_base::internal, then padding occurs immediately after either a '+' or '-' or after '0x' or '0X'. Otherwise, padding occurs at the beginning.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, long \_\_v) const \[inline\]

Numeric formatting. Formats the integral value *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

Formatting is affected by the flag settings in *io*.

The basic format is affected by the value of io.flags() & ios\_base::basefield. If equal to ios\_base::oct, formats like the printf o specifier. Else if equal to ios\_base::hex, formats like x or X with ios\_base::uppercase unset or set respectively. Otherwise, formats like d, ld, lld for signed and u, lu, llu for unsigned values. Note that if both oct and hex are set, neither will take effect.

If ios\_base::showpos is set, '+' is output before positive values. If ios\_base::showbase is set, '0' precedes octal values (except 0) and '0\[xX\]' precedes hex values.

The decimal point character used is numpunct::decimal\_point(). Thousands separators are inserted according to numpunct::grouping() and numpunct::thousands\_sep().

If io.width() is non-zero, enough *fill* characters are inserted to make the result at least that wide. If (io.flags() & ios\_base::adjustfield) == ios\_base::left, result is padded at the end. If ios\_base::internal, then padding occurs immediately after either a '+' or '-' or after '0x' or '0X'. Otherwise, padding occurs at the beginning.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, long double \_\_v) const \[inline\]

Numeric formatting. Formats the floating point value *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

Formatting is affected by the flag settings in *io*.

The basic format is affected by the value of io.flags() & ios\_base::floatfield. If equal to ios\_base::fixed, formats like the printf f specifier. Else if equal to ios\_base::scientific, formats like e or E with ios\_base::uppercase unset or set respectively. Otherwise, formats like g or G depending on uppercase. Note that if both fixed and scientific are set, the effect will also be like g or G.

The output precision is given by io.precision(). This precision is capped at numeric\_limits::digits10 + 2 (different for double and long double). The default precision is 6.

If ios\_base::showpos is set, '+' is output before positive values. If ios\_base::showpoint is set, a decimal point will always be output.

The decimal point character used is numpunct::decimal\_point(). Thousands separators are inserted according to numpunct::grouping() and numpunct::thousands\_sep().

If io.width() is non-zero, enough *fill* characters are inserted to make the result at least that wide. If (io.flags() & ios\_base::adjustfield) == ios\_base::left, result is padded at the end. If ios\_base::internal, then padding occurs immediately after either a '+' or '-' or after '0x' or '0X'. Otherwise, padding occurs at the beginning.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, long long \_\_v) const \[inline\]

Numeric formatting. Formats the integral value *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

Formatting is affected by the flag settings in *io*.

The basic format is affected by the value of io.flags() & ios\_base::basefield. If equal to ios\_base::oct, formats like the printf o specifier. Else if equal to ios\_base::hex, formats like x or X with ios\_base::uppercase unset or set respectively. Otherwise, formats like d, ld, lld for signed and u, lu, llu for unsigned values. Note that if both oct and hex are set, neither will take effect.

If ios\_base::showpos is set, '+' is output before positive values. If ios\_base::showbase is set, '0' precedes octal values (except 0) and '0\[xX\]' precedes hex values.

The decimal point character used is numpunct::decimal\_point(). Thousands separators are inserted according to numpunct::grouping() and numpunct::thousands\_sep().

If io.width() is non-zero, enough *fill* characters are inserted to make the result at least that wide. If (io.flags() & ios\_base::adjustfield) == ios\_base::left, result is padded at the end. If ios\_base::internal, then padding occurs immediately after either a '+' or '-' or after '0x' or '0X'. Otherwise, padding occurs at the beginning.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, unsigned long \_\_v) const \[inline\]

Numeric formatting. Formats the integral value *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

Formatting is affected by the flag settings in *io*.

The basic format is affected by the value of io.flags() & ios\_base::basefield. If equal to ios\_base::oct, formats like the printf o specifier. Else if equal to ios\_base::hex, formats like x or X with ios\_base::uppercase unset or set respectively. Otherwise, formats like d, ld, lld for signed and u, lu, llu for unsigned values. Note that if both oct and hex are set, neither will take effect.

If ios\_base::showpos is set, '+' is output before positive values. If ios\_base::showbase is set, '0' precedes octal values (except 0) and '0\[xX\]' precedes hex values.

The decimal point character used is numpunct::decimal\_point(). Thousands separators are inserted according to numpunct::grouping() and numpunct::thousands\_sep().

If io.width() is non-zero, enough *fill* characters are inserted to make the result at least that wide. If (io.flags() & ios\_base::adjustfield) == ios\_base::left, result is padded at the end. If ios\_base::internal, then padding occurs immediately after either a '+' or '-' or after '0x' or '0X'. Otherwise, padding occurs at the beginning.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

### template\<typename \_CharT, typename \_OutIter\> iter\_type std::num\_put\< \_CharT, \_OutIter \>::put (iter\_type \_\_s, ios\_base & \_\_io, char\_type \_\_fill, unsigned long long \_\_v) const \[inline\]

Numeric formatting. Formats the integral value *v* and inserts it into a stream. It does so by calling num\_put::do\_put().

Formatting is affected by the flag settings in *io*.

The basic format is affected by the value of io.flags() & ios\_base::basefield. If equal to ios\_base::oct, formats like the printf o specifier. Else if equal to ios\_base::hex, formats like x or X with ios\_base::uppercase unset or set respectively. Otherwise, formats like d, ld, lld for signed and u, lu, llu for unsigned values. Note that if both oct and hex are set, neither will take effect.

If ios\_base::showpos is set, '+' is output before positive values. If ios\_base::showbase is set, '0' precedes octal values (except 0) and '0\[xX\]' precedes hex values.

The decimal point character used is numpunct::decimal\_point(). Thousands separators are inserted according to numpunct::grouping() and numpunct::thousands\_sep().

If io.width() is non-zero, enough *fill* characters are inserted to make the result at least that wide. If (io.flags() & ios\_base::adjustfield) == ios\_base::left, result is padded at the end. If ios\_base::internal, then padding occurs immediately after either a '+' or '-' or after '0x' or '0X'. Otherwise, padding occurs at the beginning.

**Parameters**

*\_\_s* Stream to write to. \
 *\_\_io* Source of locale and flags. \
 *\_\_fill* Char\_type to use for filling. \
 *\_\_v* Value to format and insert.

**Returns**

Iterator after writing.

## Member Data Documentation

### template\<typename \_CharT, typename \_OutIter\> locale::id std::num\_put\< \_CharT, \_OutIter \>::id \[static\]

Numpunct facet id.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
