std::codecvt::always_noconv, std::codecvt::do_always_noconv

来自cppreference.com
< cpp‎ | locale‎ | codecvt

 
 
 
 
定义于头文件 <locale>
public:
bool always_noconv() const
(1)
protected:
bool do_max_length() const
(2)
1)
公共成员函数,调用最派生类的成员函数do_always_noconv.
原文:
public member function, calls the member function do_always_noconv of the most derived class.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
2)
true如果返回do_in()do_out()回报std::codecvt_base::noconv对所有的有效输入
原文:
returns true if both do_in() and do_out() return std::codecvt_base::noconv for all valid inputs.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 返回值

true如果这种转换方面进行任何转换,false否则.
原文:
true if this conversion facet performs no conversions, false otherwise.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
非转换专业化std::codecvt<char, char, std::mbstate_t>回报true
原文:
The non-converting specialization std::codecvt<char, char, std::mbstate_t> returns true
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 注释

可使用此功能,例如,在实施std::basic_filebuf::underflow使用大容量的字符复制,而不是调用std::codecvt::in如果它是已知的,在std::basic_filebuf的语言环境充满不执行任何转换
原文:
This function may be used e.g. in the implementation of std::basic_filebuf::underflow to use bulk character copy instead of calling std::codecvt::in if it is known that the locale imbued in the std::basic_filebuf does not perform any conversions.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 例外

noexcept 规定:  
noexcept
  

[编辑] 示例

#include <locale>
#include <iostream>
int main()
{
    std::cout << "The non-converting char<->char codecvt::always_noconv() returns " 
              << std::boolalpha
              << std::use_facet<std::codecvt<char, char, std::mbstate_t>>(
                    std::locale()
                 ).always_noconv() << "\n"
              << "while wchar_t<->char codecvt::always_noconv() returns "
              << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>(
                    std::locale()
                 ).always_noconv() << "\n";
 
}

输出:

The non-converting char<->char codecvt::always_noconv() returns true
while wchar_t<->char codecvt::always_noconv() returns false