Namespaces
Variants

std:: ctype_byname

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

std::ctype_byname es una faceta std::ctype que encapsula las reglas de clasificación de caracteres 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 :: ctype_byname < char > proporciona clasificación de caracteres estrechos (usa búsqueda en tabla para clasificación de caracteres)
std :: ctype_byname < wchar_t > proporciona clasificación de caracteres anchos

Tipos anidados

Tipo Definición
mask typename std:: ctype < CharT > :: mask

Funciones miembro

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

std::ctype_byname:: ctype_byname

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

Construye una nueva faceta std::ctype_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 el último objeto std::locale que la contiene es destruido. 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::ctype_byname:: ~ctype_byname

protected :
~ctype_byname ( ) ;

Destruye el facet.

Heredado de std:: ctype <CharT> (solo si CharT no es char )

Tipos anidados

Tipo Definición
char_type CharT

Miembros de datos

Miembro Descripción
std::locale::id id [static] el identificador del facet

Funciones miembro

invoca do_is
(función miembro pública de std::ctype<CharT> )
invoca do_scan_is
(función miembro pública de std::ctype<CharT> )
invoca do_scan_not
(función miembro pública de std::ctype<CharT> )
invoca do_toupper
(función miembro pública de std::ctype<CharT> )
invoca do_tolower
(función miembro pública de std::ctype<CharT> )
invoca do_widen
(función miembro pública de std::ctype<CharT> )
invoca do_narrow
(función miembro pública de std::ctype<CharT> )

Funciones miembro protegidas

[virtual]
convierte un carácter o caracteres a mayúsculas
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
convierte un carácter o caracteres a minúsculas
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
convierte un carácter o caracteres de char a CharT
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
convierte un carácter o caracteres de CharT a char
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
clasifica un carácter o una secuencia de caracteres
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
localiza el primer carácter en una secuencia que cumple con la clasificación dada
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
localiza el primer carácter en una secuencia que no cumple con la clasificación dada
(función miembro protegida virtual de std::ctype<CharT> )

Heredado de std:: ctype<char> (solo si CharT es char )

Tipos anidados

Tipo Definición
char_type char

Miembros de datos

Miembro Descripción
std::locale::id id [static] el identificador del facet
const std:: size_t table_size [static] tamaño de la tabla de clasificación, al menos 256

Funciones miembro

obtiene la tabla de clasificación de caracteres
(función miembro pública de std::ctype <char> )
obtiene la tabla de clasificación de caracteres de la localización "C"
(función miembro estática pública de std::ctype <char> )
clasifica un carácter o una secuencia de caracteres, usando la tabla de clasificación
(función miembro pública de std::ctype <char> )
localiza el primer carácter en una secuencia que cumple con la clasificación dada, usando la tabla de clasificación
(función miembro pública de std::ctype <char> )
localiza el primer carácter en una secuencia que no cumple con la clasificación dada, usando la tabla de clasificación
(función miembro pública de std::ctype <char> )
invoca do_toupper
(función miembro pública de std::ctype<CharT> )
invoca do_tolower
(función miembro pública de std::ctype<CharT> )
invoca do_widen
(función miembro pública de std::ctype<CharT> )
invoca do_narrow
(función miembro pública de std::ctype<CharT> )

Funciones miembro protegidas

[virtual]
convierte un carácter o caracteres a mayúsculas
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
convierte un carácter o caracteres a minúsculas
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
convierte un carácter o caracteres de char a CharT
(función miembro protegida virtual de std::ctype<CharT> )
[virtual]
convierte un carácter o caracteres de CharT a char
(función miembro protegida virtual de std::ctype<CharT> )

Heredado de std:: ctype_base

Tipos anidados

Tipo Definición
mask tipo no especificado BitmaskType (enumeración, tipo entero, o bitset)

Constantes miembro

space
[static]
el valor de mask que identifica la clasificación de caracteres de espacio en blanco
(constante miembro pública estática)
print
[static]
el valor de mask que identifica la clasificación de caracteres imprimibles
(constante miembro pública estática)
cntrl
[static]
el valor de mask que identifica la clasificación de caracteres de control
(constante miembro pública estática)
upper
[static]
el valor de mask que identifica la clasificación de caracteres en mayúsculas
(constante miembro pública estática)
lower
[static]
el valor de mask que identifica la clasificación de caracteres en minúsculas
(constante miembro pública estática)
alpha
[static]
el valor de mask que identifica la clasificación de caracteres alfabéticos
(constante miembro pública estática)
digit
[static]
el valor de mask que identifica la clasificación de caracteres dígito
(constante miembro pública estática)
punct
[static]
el valor de mask que identifica la clasificación de caracteres de puntuación
(constante miembro pública estática)
xdigit
[static]
el valor de mask que identifica la clasificación de caracteres dígito hexadecimal
(constante miembro pública estática)
blank
[static] (C++11)
el valor de mask que identifica la clasificación de caracteres en blanco
(constante miembro pública estática)
alnum
[static]
alpha | digit
(constante miembro pública estática)
graph
[static]
alnum | punct
(constante miembro pública estática)

Notas

std :: ctype_byname < char > se declaró incorrectamente como una especialización explícita en la sinopsis de <locale> , y la declaración fue eliminada mediante la resolución de LWG issue 1298 , pero sigue siendo una especialización requerida, al igual que std :: ctype_byname < wchar_t > .

Ejemplo

#include <iostream>
#include <locale>
int main()
{
    wchar_t c = L'\u00de'; // capital letter thorn
    std::locale loc("C");
    std::cout << "isupper('Þ', C locale) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
    loc = std::locale(loc, new std::ctype_byname<wchar_t>("en_US.utf8"));
    std::cout << "isupper('Þ', C locale with Unicode ctype) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
}

Salida:

isupper('Þ', C locale) returned false
isupper('Þ', C locale with Unicode ctype) returned true

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Se aplica a Comportamiento publicado Comportamiento correcto
LWG 16 C++98 la definición de la especialización explícita std :: ctype_byname < char >
especificaba incorrectamente el nombre y la lista de parámetros de do_narrow
corregido
LWG 616 C++98 faltaba el desambiguador typename en la definición de mask añadido

Véase también

define tablas de clasificación de caracteres
(plantilla de clase)
especialización de std::ctype para el tipo char
(especialización de plantilla de clase)