C++ Locale Library - is



Description

It is a classify characters.

Declaration

Following is the declaration for std::ctype::is.

C++98

	
bool is (mask m, char_type c) const;	
const char_type* is (const char_type* low,
                     const char_type* high, mask* vec) const;

C++11

bool is (mask m, char_type c) const;	
const char_type* is (const char_type* low,
                     const char_type* high, mask* vec) const;

Parameters

  • m − It is a bitmask of member type mask.

  • c − It is a character to classify.

  • vec − It is a destination array.

Return Value

It returns true if c classifies in any of the categories passed as mask m.

Exceptions

Strong guarantee − if an exception is thrown, there are no effects.

Data races

The locale object is accessed.

Example

In below example explains about std::ctype::is.

#include <iostream>
#include <locale>

int main () {
   std::locale loc;
   const char quote[] = "Tutorialspoint is a one of the best site .";

   std::cout << '"' << quote << "\"\n";
  
   std::cout << "The quote begins with an uppercase letter? ";
   std::cout << std::boolalpha;
   std::cout << std::use_facet< std::ctype<char> >(loc).is (std::ctype
      <char>::upper, quote[0]);
   std::cout << '\n';
  
   int cx = 0;
   std::ctype<char>::mask * masks = new std::ctype<char>::mask [60];
   std::use_facet< std::ctype<char> >(loc).is (quote, quote+60, masks);
   for (int i=0; i<60; ++i) if (masks[i] & std::ctype<char>::space) ++cx;
   std::cout << "The quote has " << cx << " whitespaces.\n";
   return 0;
}

Let us compile and run the above program, this will produce the following result −

"Tutorialspoint is a one of the best site ."
The quote begins with an uppercase letter? true
The quote has 8 whitespaces.
locale.htm
Advertisements