# std::numpunct< CharT > Class Template Reference

Numpunct facet. More...

`#include <locale_facets.h>`

Inheritance diagram for std::numpunct< CharT >:

[legend]
Collaboration diagram for std::numpunct< CharT >:

[legend]
List of all members.

## Public Types

typedef CharT | char_type
| Public typedefs.
typedef basic_string< CharT > | string_type
| Public typedefs.

## Public Member Functions

| numpunct (size_t __refs=0)
| Numpunct constructor.
| numpunct (cache_type *cache, size_t __refs=0)
| Internal constructor. Not for general use.
| numpunct (c_locale cloc, size_t __refs=0)
| Internal constructor. Not for general use.
char_type | decimal_point () const
| Return decimal point character.
char_type | thousands_sep () const
| Return thousands separator character.
string | grouping () const
| Return grouping specification.
string_type | truename () const
| Return string representation of bool true.
string_type | falsename () const
| Return string representation of bool false.

## Static Public Attributes

locale::id | id
| Numpunct facet id.

## Protected Member Functions

virtual | ~numpunct ()
| Destructor.
virtual char_type | do_decimal_point () const
| Return decimal point character.
virtual char_type | do_thousands_sep () const
| Return thousands separator character.
virtual string | do_grouping () const
| Return grouping specification.
virtual string_type | do_truename () const
| Return string representation of bool true.
virtual string_type | do_falsename () const
| Return string representation of bool false.

## Detailed Description

### template<typename CharT>
class std::numpunct< CharT >

Numpunct facet.

This facet stores several pieces of information related to printing and scanning numbers, such as the decimal point character. It takes a template parameter specifying the char type. The numpunct facet is used by streams for many I/O operations involving numbers.

The numpunct 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 a numpunct facet.

Definition at line 1661 of file locale_facets.h.

## Member Typedef Documentation

template<typename CharT>
typedef CharT std::numpunct< CharT >::char_type

| Public typedefs. Definition at line 1667 of file locale_facets.h.

template<typename CharT>
typedef basic_string<CharT> std::numpunct< CharT >::string_type

| Public typedefs. Definition at line 1668 of file locale_facets.h.

## Constructor & Destructor Documentation

template<typename CharT>
std::numpunct< CharT >::numpunct | ( | size_t | __refs = `0` | ) | `[inline, explicit]`

Numpunct constructor.

Parameters:

  | refs | Refcount to pass to the base class.

Definition at line 1685 of file locale_facets.h.

template<typename CharT>
std::numpunct< CharT >::numpunct | ( | cache_type * | cache,
|  | size_t | __refs = `0`
| ) | `[inline, explicit]`

Internal constructor. Not for general use.

This is a constructor for use by the library itself to set up the predefined locale facets.

Parameters:

  | cache | numpunct_cache object.
  | refs | Refcount to pass to the base class.

Definition at line 1698 of file locale_facets.h.

template<typename CharT>
std::numpunct< CharT >::numpunct | ( | c_locale | cloc,
|  | size_t | __refs = `0`
| ) | `[inline, explicit]`

Internal constructor. Not for general use.

This is a constructor for use by the library itself to set up new locales.

Parameters:

  | cloc | The "C" locale.
  | refs | Refcount to pass to the base class.

Definition at line 1712 of file locale_facets.h.

std::numpunct<>::~numpunct | ( |  | ) | `[protected, virtual]`

| Destructor.

## Member Function Documentation

template<typename CharT>
char_type std::numpunct< CharT >::decimal_point | ( |  | ) | const`[inline]`

Return decimal point character.

This function returns a char_type to use as a decimal point. It does so by returning returning numpunct<char_type>::do_decimal_point().

Returns:
  char_type representing a decimal point.

Definition at line 1726 of file locale_facets.h.

References std::numpunct< CharT >::do_decimal_point().

template<typename CharT>
virtual char_type std::numpunct< CharT >::do_decimal_point | ( |  | ) | const`[inline, protected, virtual]`

Return decimal point character.

Returns a char_type to use as a decimal point. This function is a hook for derived classes to change the value returned.

Returns:
  char_type representing a decimal point.

Definition at line 1813 of file locale_facets.h.

Referenced by std::numpunct< CharT >::decimal_point().

template<typename CharT>
virtual string_type std::numpunct< CharT >::do_falsename | ( |  | ) | const`[inline, protected, virtual]`

Return string representation of bool false.

Returns a string_type containing the text representation for false bool variables. This function is a hook for derived classes to change the value returned.

Returns:
  string_type representing printed form of false.

Definition at line 1864 of file locale_facets.h.

Referenced by std::numpunct< CharT >::falsename().

template<typename CharT>
virtual string std::numpunct< CharT >::do_grouping | ( |  | ) | const`[inline, protected, virtual]`

Return grouping specification.

Returns a string representing groupings for the integer part of a number. This function is a hook for derived classes to change the value returned.

See also:
  grouping() for details.

Returns:
  String representing grouping specification.

Definition at line 1838 of file locale_facets.h.

Referenced by std::numpunct< CharT >::grouping().

template<typename CharT>
virtual char_type std::numpunct< CharT >::do_thousands_sep | ( |  | ) | const`[inline, protected, virtual]`

Return thousands separator character.

Returns a char_type to use as a thousands separator. This function is a hook for derived classes to change the value returned.

Returns:
  char_type representing a thousands separator.

Definition at line 1825 of file locale_facets.h.

Referenced by std::numpunct< CharT >::thousands_sep().

template<typename CharT>
virtual string_type std::numpunct< CharT >::do_truename | ( |  | ) | const`[inline, protected, virtual]`

Return string representation of bool true.

Returns a string_type containing the text representation for true bool variables. This function is a hook for derived classes to change the value returned.

Returns:
  string_type representing printed form of true.

Definition at line 1851 of file locale_facets.h.

Referenced by std::numpunct< CharT >::truename().

template<typename CharT>
string_type std::numpunct< CharT >::falsename | ( |  | ) | const`[inline]`

Return string representation of bool false.

This function returns a string_type containing the text representation for false bool variables. It does so by calling numpunct<char_type>::do_falsename().

Returns:
  string_type representing printed form of false.

Definition at line 1796 of file locale_facets.h.

References std::numpunct< CharT >::do_falsename().

template<typename CharT>
string std::numpunct< CharT >::grouping | ( |  | ) | const`[inline]`

Return grouping specification.

This function returns a string representing groupings for the integer part of a number. Groupings indicate where thousands separators should be inserted in the integer part of a number.

Each char in the return string is interpret as an integer rather than a character. These numbers represent the number of digits in a group. The first char in the string represents the number of digits in the least significant group. If a char is negative, it indicates an unlimited number of digits for the group. If more chars from the string are required to group a number, the last char is used repeatedly.

For example, if the grouping() returns "\003\002" and is applied to the number 123456789, this corresponds to 12,34,56,789. Note that if the string was "32", this would put more than 50 digits into the least significant group if the character set is ASCII.

The string is returned by calling numpunct<char_type>::do_grouping().

Returns:
  string representing grouping specification.

Definition at line 1770 of file locale_facets.h.

References std::numpunct< CharT >::do_grouping().

template<typename CharT>
char_type std::numpunct< CharT >::thousands_sep | ( |  | ) | const`[inline]`

Return thousands separator character.

This function returns a char_type to use as a thousands separator. It does so by returning returning numpunct<char_type>::do_thousands_sep().

Returns:
  char_type representing a thousands separator.

Definition at line 1739 of file locale_facets.h.

References std::numpunct< CharT >::do_thousands_sep().

template<typename CharT>
string_type std::numpunct< CharT >::truename | ( |  | ) | const`[inline]`

Return string representation of bool true.

This function returns a string_type containing the text representation for true bool variables. It does so by calling numpunct<char_type>::do_truename().

Returns:
  string_type representing printed form of true.

Definition at line 1783 of file locale_facets.h.

References std::numpunct< CharT >::do_truename().

## Member Data Documentation

template<typename CharT>
locale::id std::numpunct< CharT >::id `[static]`

| Numpunct facet id. Definition at line 1873 of file locale_facets.h.

The documentation for this class was generated from the following file:

- locale_facets.h