Namespaces
Variants

std:: moneypunct_byname

From cppreference.net
Definido en el encabezado <locale>
template < class CharT, bool Intl = false >
class moneypunct_byname : public std:: moneypunct < CharT, Intl > ;

std::moneypunct_byname es una faceta std::moneypunct que encapsula las preferencias de formato monetario de una configuración regional especificada en su construcción.

Contenidos

Especializaciones

La biblioteca estándar garantiza proporcionar cada especialización que cumpla con los siguientes requisitos de tipo:

  • CharT es uno de char y wchar_t , y
  • Intl es una posible especialización en un parámetro bool .

Tipos anidados

Tipo Definición
pattern std::money_base::pattern
string_type std:: basic_string < CharT >

Funciones miembro

(constructor)
construye un nuevo facet moneypunct_byname
(función miembro pública)
(destructor)
destruye un facet moneypunct_byname
(función miembro protegida)

std::moneypunct_byname:: moneypunct_byname

explicit moneypunct_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit moneypunct_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(desde C++11)

Construye una nueva faceta std::moneypunct_byname para una configuración regional con name .

refs se utiliza para la gestión de recursos: si refs == 0 , la implementación destruye la faceta cuando se destruye el último objeto std::locale que la contiene. De lo contrario, el objeto no se destruye.

Parámetros

name - el nombre de la configuración regional
refs - el número de referencias que enlazan con la faceta

std::moneypunct_byname:: ~moneypunct_byname

protected :
~moneypunct_byname ( ) ;

Destruye el facet.

Heredado de std:: moneypunct

Tipos anidados

Tipo Definición
char_type CharT
string_type std:: basic_string < CharT >

Miembros de datos

Miembro Descripción
std::locale::id id [static] el identificador del facet
const bool intl [static] International

Funciones miembro

invoca do_decimal_point
(función miembro pública de std::moneypunct<CharT,International> )
invoca do_thousands_sep
(función miembro pública de std::moneypunct<CharT,International> )
invoca do_grouping
(función miembro pública de std::moneypunct<CharT,International> )
invoca do_curr_symbol
(función miembro pública de std::moneypunct<CharT,International> )
invoca do_positive_sign o do_negative_sign
(función miembro pública de std::moneypunct<CharT,International> )
invoca do_frac_digits
(función miembro pública de std::moneypunct<CharT,International> )
invoca do_pos_format / do_neg_format
(función miembro pública de std::moneypunct<CharT,International> )

Funciones miembro protegidas

proporciona el carácter a utilizar como punto decimal
(función miembro protegida virtual de std::moneypunct<CharT,International> )
proporciona el carácter a utilizar como separador de miles
(función miembro protegida virtual de std::moneypunct<CharT,International> )
[virtual]
proporciona el número de dígitos entre cada par de separadores de miles
(función miembro protegida virtual de std::moneypunct<CharT,International> )
proporciona la cadena a utilizar como identificador de moneda
(función miembro protegida virtual de std::moneypunct<CharT,International> )
proporciona la cadena para indicar un valor positivo o negativo
(función miembro protegida virtual de std::moneypunct<CharT,International> )
proporciona el número de dígitos a mostrar después del punto decimal
(función miembro protegida virtual de std::moneypunct<CharT,International> )
proporciona el patrón de formato para valores monetarios
(función miembro protegida virtual de std::moneypunct<CharT,International> )

Heredado de std:: money_base

Tipos anidados

Tipo Definición
enum part { none, space, symbol, sign, value } ; tipo de enumeración no delimitada
struct pattern { char field [ 4 ] ; } ; el tipo de formato monetario
Constante de enumeración Descripción
none se permite espacio en blanco pero no es requerido excepto en la última posición, donde no se permite espacio en blanco
space se requiere uno o más caracteres de espacio en blanco
symbol se requiere la secuencia de caracteres devuelta por std::moneypunct::curr_symbol
sign se requiere el primero de los caracteres devueltos por std::moneypunct::positive_sign o std::moneypunct::negative_sign
value se requiere el valor monetario numérico absoluto

Ejemplo

Este ejemplo demuestra cómo aplicar reglas de formato monetario de otro idioma sin cambiar el resto de la configuración regional.

#include <iomanip>
#include <iostream>
#include <locale>
int main()
{
    long double mon = 1234567;
    std::locale::global(std::locale("en_US.utf8"));
    std::wcout.imbue(std::locale());
    std::wcout << L"american locale: " << std::showbase
               << std::put_money(mon) << '\n';
    std::wcout.imbue(std::locale(std::wcout.getloc(),
                                 new std::moneypunct_byname<wchar_t>("ru_RU.utf8")));
    std::wcout << L"american locale with russian moneypunct: "
               << std::put_money(mon) << '\n';
}

Salida:

american locale: $12,345.67
american locale with russian moneypunct: 12 345.67 руб

Véase también

define los parámetros de formato monetario utilizados por std::money_get y std::money_put
(plantilla de clase)