std::ctype <char> :: scan_is
|
Défini dans l'en-tête
<locale>
|
||
|
const
char
*
scan_is
(
mask m,
const
char
*
beg,
const
char
*
end
)
const
;
|
(1) | |
Localise le premier caractère dans le tableau de caractères
[
beg
,
end
)
qui satisfait le masque de classification
m
, c'est-à-dire le premier caractère
c
tel que
table
(
)
[
(
unsigned
char
)
c
]
&
m
renverrait
true
.
Si ( unsigned char ) c >= std:: ctype < char > :: table_size , alors une valeur définie par l'implémentation est substituée à la place de table ( ) [ ( unsigned char ) c ] , potentiellement différente pour différentes valeurs de c .
Table des matières |
Paramètres
| m | - | masque à rechercher |
| beg | - | pointeur vers le premier caractère dans un tableau de caractères à rechercher |
| end | - | pointeur situé juste après la fin du tableau de caractères à rechercher |
Valeur de retour
Pointeur vers le premier caractère dans
[
beg
,
end
)
qui satisfait le masque, ou
end
si aucun caractère correspondant n'a été trouvé.
Notes
Contrairement au modèle principal std:: ctype , cette spécialisation n'effectue pas d'appel de fonction virtuelle lors de la classification des caractères. Pour personnaliser le comportement, une classe dérivée peut fournir une table de classification non par défaut au constructeur de la classe de base.
Exemple
#include <iostream> #include <iterator> #include <locale> int main() { std::locale loc(""); auto& f = std::use_facet<std::ctype<char>>(loc); // ignorer jusqu'à la première lettre char s1[] = " \t\t\n Test"; const char* p1 = f.scan_is(std::ctype_base::alpha, std::begin(s1), std::end(s1)); std::cout << '\'' << p1 << "'\n"; // ignorer jusqu'à la première lettre char s2[] = "123456789abcd"; const char* p2 = f.scan_is(std::ctype_base::alpha, std::begin(s2), std::end(s2)); std::cout << '\'' << p2 << "'\n"; }
Sortie :
'Test' 'abcd'
Voir aussi
|
[virtual]
|
localise le premier caractère dans une séquence qui respecte la classification donnée
(fonction membre protégée virtuelle de
std::ctype<CharT>
)
|
|
localise le premier caractère dans une séquence qui ne respecte pas la classification donnée, en utilisant la table de classification
(fonction membre publique) |