std::numpunct< _CharT > Class Template Reference

Numpunct facet. More...

#include <locale_facets.h>

Inheritance diagram for std::numpunct< _CharT >:

std::locale::facet std::numpunct_byname< _CharT > List of all members.

Public Types

typedef __numpunct_cache<
_CharT > 
__cache_type
typedef _CharT char_type
 Public typedefs.

typedef basic_string< _CharT > string_type

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.

void _M_initialize_numpunct (__c_locale __cloc=NULL)

Protected Attributes

__cache_type_M_data

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


Member Typedef Documentation

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

Definition at line 2143 of file locale_facets.h.

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

Public typedefs.

Reimplemented in std::numpunct_byname< _CharT >.

Definition at line 2140 of file locale_facets.h.

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

Reimplemented in std::numpunct_byname< _CharT >.

Definition at line 2141 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 2158 of file locale_facets.h.

References std::ios_base::iostate.

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

References std::ios_base::iostate.

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

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

Destructor.


Member Function Documentation

void std::numpunct<>::_M_initialize_numpunct __c_locale  __cloc = NULL  )  [protected]
 

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

Referenced by std::__numpunct_cache< _CharT >::_M_cache().

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

References std::num_put< _CharT, _OutIter >::do_put().

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

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

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

References std::num_put< _CharT, _OutIter >::do_put().

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

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

Referenced by std::__numpunct_cache< _CharT >::_M_cache().

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

References std::num_put< _CharT, _OutIter >::do_put().

Referenced by std::__numpunct_cache< _CharT >::_M_cache().

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

Referenced by std::__numpunct_cache< _CharT >::_M_cache().

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

Referenced by std::__numpunct_cache< _CharT >::_M_cache().


Member Data Documentation

template<typename _CharT>
__cache_type* std::numpunct< _CharT >::_M_data [protected]
 

Definition at line 2146 of file locale_facets.h.

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

Numpunct facet id.

Definition at line 2346 of file locale_facets.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 30 17:32:14 2007 for GNU C++ STL by doxygen 1.3.6