libstdc++: std::numpunct< _CharT > Class Template Reference

libstdc++

std::numpunct< _CharT > Class Template Reference
Locales

`#include <locale_facets.h>`

Inheritance diagram for std::numpunct< _CharT >:
[legend]

## Public Types
typedef __numpunct_cache< _CharT > | __cache_type
typedef _CharT | char_type
typedef basic_string< _CharT > | string_type

## Public Member Functions
| numpunct (__c_locale __cloc, size_t __refs=0)
| numpunct (__cache_type *__cache, size_t __refs=0)
| numpunct (size_t __refs=0)
char_type | decimal_point () const
string_type | falsename () const
string | grouping () const
char_type | thousands_sep () const
string_type | truename () const

## Static Public Attributes
static locale::id | id

## Protected Member Functions
virtual | ~numpunct ()
void | _M_initialize_numpunct (__c_locale __cloc)
void | _M_initialize_numpunct (__c_locale __cloc)
void | _M_initialize_numpunct (__c_locale __cloc=0)
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

## 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)

## Protected Attributes
__cache_type * | _M_data

## Detailed Description

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

Primary class template numpunct.

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

## Member Typedef Documentation

## ◆ __cache_type

template<typename _CharT>

typedef __numpunct_cache<_CharT> std::numpunct< _CharT >::__cache_type

Definition at line 1687 of file locale_facets.h.

## ◆ char_type

template<typename _CharT>

typedef _CharT std::numpunct< _CharT >::char_type

Public typedefs.

Definition at line 1684 of file locale_facets.h.

## ◆ string_type

template<typename _CharT>

typedef basic_string<_CharT> std::numpunct< _CharT >::string_type

Public typedefs.

Definition at line 1685 of file locale_facets.h.

## Constructor & Destructor Documentation

## ◆ numpunct() [1/3]

template<typename _CharT>

std::numpunct< _CharT >::numpunct | ( | size_t | __refs = 0 | ) |
| inlineexplicit

Numpunct constructor.

Parameters

  __refs | Refcount to pass to the base class.

Definition at line 1702 of file locale_facets.h.

References std::locale::facet::facet().

## ◆ numpunct() [2/3]

template<typename _CharT>

std::numpunct< _CharT >::numpunct | ( | __cache_type * | __cache,
|  | size_t | __refs = 0 )
| inlineexplicit

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

References std::locale::facet::facet().

## ◆ numpunct() [3/3]

template<typename _CharT>

std::numpunct< _CharT >::numpunct | ( | __c_locale | __cloc,
|  | size_t | __refs = 0 )
| inlineexplicit

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

References std::locale::facet::facet().

## ◆ ~numpunct()

template<typename _CharT>

virtual std::numpunct< _CharT >::~numpunct | ( |  | ) |
| protectedvirtual

Destructor.

## Member Function Documentation

## ◆ decimal_point()

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

References do_decimal_point().

## ◆ do_decimal_point()

template<typename _CharT>

virtual char_type std::numpunct< _CharT >::do_decimal_point | ( |  | ) | const
| inlineprotectedvirtual

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

Referenced by decimal_point().

## ◆ do_falsename()

template<typename _CharT>

virtual string_type std::numpunct< _CharT >::do_falsename | ( |  | ) | const
| inlineprotectedvirtual

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

Referenced by falsename().

## ◆ do_grouping()

template<typename _CharT>

virtual string std::numpunct< _CharT >::do_grouping | ( |  | ) | const
| inlineprotectedvirtual

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

Referenced by grouping().

## ◆ do_thousands_sep()

template<typename _CharT>

virtual char_type std::numpunct< _CharT >::do_thousands_sep | ( |  | ) | const
| inlineprotectedvirtual

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

Referenced by thousands_sep().

## ◆ do_truename()

template<typename _CharT>

virtual string_type std::numpunct< _CharT >::do_truename | ( |  | ) | const
| inlineprotectedvirtual

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

Referenced by truename().

## ◆ falsename()

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

References do_falsename().

## ◆ grouping()

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

References do_grouping().

## ◆ thousands_sep()

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

References do_thousands_sep().

## ◆ truename()

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

References do_truename().

## Member Data Documentation

## ◆ _M_data

template<typename _CharT>

__cache_type* std::numpunct< _CharT >::_M_data
| protected

Definition at line 1690 of file locale_facets.h.

## ◆ id

template<typename _CharT>

locale::id std::numpunct< _CharT >::id
| static

Numpunct facet id.

Definition at line 1694 of file locale_facets.h.

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

- locale_facets.h