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