Share via


Clase ctype<char>

La clase es una especialización explícita de la clase de plantilla ctype\<CharType> a tipo char, que describe un objeto que puede actuar como una faceta de configuración regional para caracterizar distintas propiedades de un carácter de tipo char.

Sintaxis

template <>
class ctype<char>
: public ctype_base
{
public:
    typedef char _Elem;
    typedef _Elem char_type;
    bool is(
    mask _Maskval,
    _Elem _Ch) const;

    const _Elem* is(
    const _Elem* first,
    const _Elem* last,
    mask* dest) const;

    const _Elem* scan_is(
    mask _Maskval,
    const _Elem* first,
    const _Elem* last) const;

    const _Elem* scan_not(
    mask _Maskval,
    const _Elem* first,
    const _Elem* last) const;

    _Elem tolower(
    _Elem _Ch) const;

    const _Elem* tolower(
    _Elem* first,
    const _Elem* last) const;

    _Elem toupper(
    _Elem _Ch) const;

    const _Elem* toupper(
    _Elem* first,
    const _Elem* last) const;

    _Elem widen(
    char _Byte) const;

    const _Elem* widen(
    const char* first,
    const char* last,
    _Elem* dest) const;

    const _Elem* _Widen_s(
    const char* first,
    const char* last,
    _Elem* dest,
    size_t dest_size) const;

    _Elem narrow(
    _Elem _Ch,
    char _Dflt = '\0') const;

    const _Elem* narrow(
    const _Elem* first,
    const _Elem* last,
    char _Dflt,
    char* dest) const;

    const _Elem* _Narrow_s(
    const _Elem* first,
    const _Elem* last,
    char _Dflt,
    char* dest,
    size_t dest_size) const;

    static locale::id& id;
    explicit ctype(
    const mask* _Table = 0,
    bool _Deletetable = false,
    size_t _Refs = 0);

protected:
    virtual ~ctype();
//other protected members
};

Comentarios

La especialización explícita difiere de la clase de plantilla de varias maneras:

  • Un objeto de clase ctype<char> almacena un puntero al primer elemento de una tabla de máscara ctype, una matriz de elementos UCHAR_MAX + 1 de tipo ctype_base::mask. También almacena un objeto booleano que indica si se debe eliminar la matriz (con operator delete[]) cuando se destruye el objeto ctype<Elem>.

  • Su único constructor público le permite especificar tab, la tabla de máscara de ctype y del, el objeto booleano que es True si la matriz debe eliminarse cuando se destruye el objeto ctype<char>, así como las referencias del parámetro de recuento de referencias.

  • La función miembro protegida table devuelve la tabla de máscara ctype almacenada.

  • El objeto miembro estático table_size especifica el número mínimo de elementos en una tabla de máscara ctype.

  • La función miembro estática protegida classic_table devuelve la tabla de máscara ctype adecuada a la configuración regional de "C".

  • No hay ninguna función miembro virtual protegida do_is, do_scan_is o do_scan_not. Las funciones miembro públicas correspondientes realizan las operaciones equivalentes ellas mismas.

Las funciones miembro do_narrow y do_widen copian elementos sin modificaciones.

Requisitos

Encabezado:<locale>

Espacio de nombres: std

Consulte también

facet (Clase)
ctype_base (Clase)
Seguridad para subprocesos en la biblioteca estándar de C++