# numpunct Class Template Reference

Inheritance diagram for numpunct:

List of all members.

## Detailed Description

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

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 1657 of file locale_facets.h.

## Public Types

- typedef __numpunct_cache<
  _CharT > __cache_type
- typedef _CharT char_type
- typedef basic_string< _CharT > string_type

## Public Member Functions

- template<> void _M_initialize_numpunct (__c_locale __cloc)
- template<> void _M_initialize_numpunct (__c_locale __cloc)
- char_type decimal_point () const
- string_type falsename () const
- string grouping () const
- numpunct (__c_locale __cloc, size_t __refs=0)
- numpunct (__cache_type *__cache, size_t __refs=0)
- numpunct (size_t __refs=0)
- char_type thousands_sep () const
- string_type truename () const

## Static Public Attributes

- static locale::id id

## Protected Member Functions

- void _M_initialize_numpunct (__c_locale __cloc=NULL)
- virtual char_type do_decimal_point () const
- virtual string_type do_falsename () const
- virtual string do_grouping () const
- virtual char_type do_thousands_sep () const
- virtual string_type do_truename () const
- virtual ~numpunct ()

## Static Protected Member Functions

- static __c_locale _S_clone_c_locale (__c_locale &__cloc)
- 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 ()

## Protected Attributes

- __cache_type * _M_data

## Friends

- class locale::_Impl

## Member Typedef Documentation

typedef _CharT char_type

| Public typedefs. Reimplemented in numpunct_byname. Definition at line 1663 of file locale_facets.h.

## Constructor & Destructor Documentation

numpunct | ( | size_t | __refs = `0` | ) | `[inline, explicit]`

Numpunct constructor.

Parameters:

  | refs | Refcount to pass to the base class.

Definition at line 1681 of file locale_facets.h.

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 1694 of file locale_facets.h.

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 1708 of file locale_facets.h.

virtual ~numpunct | ( |  | ) | `[protected, virtual]`

| Destructor.

## Member Function Documentation

char_type 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 1722 of file locale_facets.h.

References numpunct::do_decimal_point().

virtual char_type 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 1809 of file locale_facets.h.

Referenced by numpunct::decimal_point().

virtual string_type 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 1860 of file locale_facets.h.

Referenced by numpunct::falsename().

virtual string 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 1834 of file locale_facets.h.

Referenced by numpunct::grouping().

virtual char_type 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 1821 of file locale_facets.h.

Referenced by numpunct::thousands_sep().

virtual string_type 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 1847 of file locale_facets.h.

Referenced by numpunct::truename().

string_type 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 1792 of file locale_facets.h.

References numpunct::do_falsename().

string 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 1766 of file locale_facets.h.

References numpunct::do_grouping().

char_type 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 1735 of file locale_facets.h.

References numpunct::do_thousands_sep().

string_type 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 1779 of file locale_facets.h.

References numpunct::do_truename().

## Member Data Documentation

locale::id id `[static]`

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

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

- locale_facets.h