C++ Locale Library - in



Description

It used to translate in characters and the function stops converting as soon as it fails to convert a character, or once from_end is reached and its character is successfully converted.

Declaration

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

C++98

	
result in (state_type& state, 
   const extern_type* from, const extern_type* from_end, const extern_type*& from_next,
   intern_type* to, intern_type* to_limit, intern_type*& to_next) const;

C++11

result in (state_type& state, 
   const extern_type* from, const extern_type* from_end, const extern_type*& from_next,
   intern_type* to, intern_type* to_limit, intern_type*& to_next) const;

Parameters

  • state − It is a state object.

  • from, from_end − It is used to find initial and final characters of the source sequence.

  • from_next − It is used to find an element in the above range.

  • to_next − It is used to find an element in the above range.

Return Value

It returns codecvt_base::result.

Exceptions

If an exception is thrown, there are no changes in the facet object, although characters in the range may have been affected.

Data races

The object, and the elements in the range [low,high), are accessed.

Example

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

#include <iostream>
#include <locale>
#include <string>
#include <cwchar>

int main () {
   typedef std::codecvt<wchar_t,char,std::mbstate_t> facet_type;

   std::locale mylocale;

   const facet_type& myfacet = std::use_facet<facet_type>(mylocale);

   const char mystr[] = "Tutorialspoint.com";

   wchar_t pwstr[sizeof(mystr)];
   std::mbstate_t mystate = std::mbstate_t();
   const char* pc;
   wchar_t* pwc;

   facet_type::result myresult = myfacet.in (mystate,
      mystr, mystr+sizeof(mystr), pc, pwstr, pwstr+sizeof(mystr), pwc);

   if ( myresult == facet_type::ok ) {
      std::wcout << L"Translation was successful: ";
      std::wcout << pwstr << std::endl;
   }
   return 0;
}

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

Translation was successful: Tutorialspoint.com
locale.htm
Advertisements