C++ Locale Library - always_noconv



Description

It returns whether conversions between the internal and external types, in either direction, always yield a copy without any real conversion.

Declaration

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

C++98

	
int always_noconv() const throw();

C++11

int always_noconv() const noexcept;

Parameters

none

Return Value

It returns true if codecvt::in and codecvt::out will always result in noconv.

Exceptions

No-throw guarantee − never throws exceptions.

Data races

The facet object is accessed.

Example

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

#include <iostream>
#include <locale>

int main () {
   std::locale loc;

   std::cout << std::boolalpha;

   std::cout << "always_noconv for codecvt<char,char,mbstate_t>: ";
   std::cout << std::use_facet<std::codecvt<char,char,mbstate_t> >(loc).always_noconv();
   std::cout << '\n';

   std::cout << "always_noconv for codecvt<wchar_t,char,mbstate_t>: ";
   std::cout << std::use_facet<std::codecvt<wchar_t,char,mbstate_t> >(loc).always_noconv();
   std::cout << '\n';

   return 0;
}

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

always_noconv for codecvt<char,char,mbstate_t>: true
always_noconv for codecvt<wchar_t,char,mbstate_t>: false
locale.htm
Advertisements