Namespaces
Variants

std::ctype<CharT>:: scan_is, std::ctype<CharT>:: do_scan_is

From cppreference.net
Definido en el encabezado <locale>
public :
const CharT * scan_is ( mask m, const CharT * beg, const CharT * end ) const ;
(1)
protected :
virtual const CharT * do_scan_is ( mask m, const CharT * beg, const CharT * end ) const ;
(2)
1) Función miembro pública, llama a la función miembro virtual protegida do_scan_is de la clase más derivada.
2) Localiza el primer carácter en el array de caracteres [ beg , end ) que satisface la máscara de clasificación m , es decir, el primer carácter c tal que is ( m, c ) devolvería true .

Contenidos

Parámetros

m - máscara a buscar
beg - puntero al primer carácter en un array de caracteres a buscar
end - puntero una posición después del final para el array de caracteres a buscar

Valor de retorno

Puntero al primer carácter en [ beg , end ) que satisface la máscara, o end si no se encontró dicho carácter.

Ejemplo

#include <clocale>
#include <iostream>
#include <iterator>
#include <locale>
int main()
{
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
    auto& f = std::use_facet<std::ctype<wchar_t>>(std::wcout.getloc());
    // omitir hasta la primera letra
    wchar_t s1[] = L"      \t\t\n  Кошка";
    const wchar_t* p1 = f.scan_is(std::ctype_base::alpha, std::begin(s1), std::end(s1));
    std::wcout << '\'' << p1 << "'\n";
    // omitir hasta la primera letra
    wchar_t s2[] = L"123456789ネプネプ";
    const wchar_t* p2 = f.scan_is(std::ctype_base::alpha, std::begin(s2), std::end(s2));
    std::wcout << '\'' << p2 << "'\n";
}

Salida:

'Кошка'
'ネプネプ'

Informes de defectos

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

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 152 C++98 el efecto de do_scan_is mencionado is ( m ) ,
pero is no tiene tal sobrecarga
corregido a is ( m, c )

Véase también

localiza el primer carácter en una secuencia que cumple con la clasificación dada, utilizando la tabla de clasificación
(función miembro pública de std::ctype <char> )
[virtual]
localiza el primer carácter en una secuencia que no cumple con la clasificación dada
(función miembro protegida virtual)