| Localization library | |||||||||||||||||||||||||
| Regular expressions library(C++11) | |||||||||||||||||||||||||
| Formatting library(C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Member functions of ctype<char> | ||||
ctype<char>::scan_is | ||||
Defined in header <locale> | ||
constchar* scan_is( mask m,constchar* beg,constchar* end)const; | (1) | |
Locates the first character in the character array[beg, end) that satisfies the classification maskm, that is, the first characterc such thattable()[(unsignedchar) c]& m would returntrue.
If(unsignedchar)c>=std::ctype<char>::table_size, then an implementation-defined value is substituted instead oftable()[(unsignedchar)c], possibly different for different values ofc.
Contents |
| m | - | mask to search for |
| beg | - | pointer to the first character in an array of characters to search |
| end | - | one past the end pointer for the array of characters to search |
Pointer to the first character in[beg, end) that satisfies the mask, orend if no such character was found.
Unlike the primary templatestd::ctype, this specialization does not perform a virtual function call when classifying characters. To customize the behavior, a derived class may provide a non-default classification table to the base class constructor.
#include <iostream>#include <iterator>#include <locale> int main(){std::locale loc("");auto& f=std::use_facet<std::ctype<char>>(loc); // skip until the first letterchar s1[]="\t\t\n Test";constchar* p1= f.scan_is(std::ctype_base::alpha,std::begin(s1),std::end(s1));std::cout<<'\''<< p1<<"'\n"; // skip until the first letterchar s2[]="123456789abcd";constchar* p2= f.scan_is(std::ctype_base::alpha,std::begin(s2),std::end(s2));std::cout<<'\''<< p2<<"'\n";}
Output:
'Test''abcd'
[virtual] | locates the first character in a sequence that conforms to given classification (virtual protected member function of std::ctype<CharT>)[edit] |
| locates the first character in a sequence that fails given classification, using the classification table (public member function)[edit] |