std:: ctype_byname
|
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>
)
|
|
|
[static]
|
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) |