Namespaces
Variants

std:: messages_byname

From cppreference.net
Definido en el encabezado <locale>
template < class CharT >
class messages_byname : public std:: messages < CharT > ;

std::messages_byname es una faceta std::messages que encapsula la recuperación de cadenas de catálogos de mensajes de la configuración regional especificada en su construcción.

Contenidos

Especializaciones

La biblioteca estándar garantiza proporcionar las siguientes especializaciones:

Definido en el encabezado <locale>
std :: messages_byname < char > acceso a catálogo de mensajes narrow/multibyte
std :: messages_byname < wchar_t > acceso a catálogo de mensajes de cadenas anchas

Tipos anidados

Tipo Definición
catalog std:: messages_base < CharT > :: catalog
string_type std:: basic_string < CharT >

Funciones miembro

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

std::messages_byname:: messages_byname

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

Construye una nueva faceta std::messages_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::messages_byname:: ~messages_byname

protected :
~messages_byname ( ) ;

Destruye el facet.

Heredado de std:: messages

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

Funciones miembro

invoca do_open
(función miembro pública de std::messages<CharT> )
invoca do_get
(función miembro pública de std::messages<CharT> )
invoca do_close
(función miembro pública de std::messages<CharT> )

Funciones miembro protegidas

[virtual]
abre un catálogo de mensajes con nombre
(función miembro protegida virtual de std::messages<CharT> )
[virtual]
recupera un mensaje de un catálogo de mensajes abierto
(función miembro protegida virtual de std::messages<CharT> )
[virtual]
cierra un catálogo de mensajes
(función miembro protegida virtual de std::messages<CharT> )

Heredado de std:: messages_base

Tipos anidados

Tipo Definición
catalog un tipo entero con signo no especificado

Ejemplo

#include <iostream>
#include <locale>
void try_with(const std::locale& loc)
{
    const std::messages<char>& facet = std::use_facet<std::messages<char>>(loc);
    std::messages<char>::catalog cat = facet.open("sed", std::cout.getloc());
    if (cat < 0)
        std::cout << "Could not open \"sed\" message catalog\n";
    else
        std::cout << "\"No match\" "
                  << facet.get(cat, 0, 0, "No match") << '\n'
                  << "\"Memory exhausted\" " 
                  << facet.get(cat, 0, 0, "Memory exhausted") << '\n';
    facet.close(cat);
}
int main()
{
    std::locale loc("en_US.utf8");
    std::cout.imbue(loc);
    try_with(std::locale(loc, new std::messages_byname<char>("de_DE.utf8")));
    try_with(std::locale(loc, new std::messages_byname<char>("fr_FR.utf8")));
    try_with(std::locale(loc, new std::messages_byname<char>("ja_JP.utf8")));
}

Salida posible:

"No match" Keine Übereinstimmung
"Memory exhausted" Speicher erschöpft
"No match" Pas de concordance
"Memory exhausted" Mémoire épuisée
"No match" 照合しません
"Memory exhausted" メモリーが足りません

Véase también

implementa la recuperación de cadenas desde catálogos de mensajes
(plantilla de clase)