Namespaces
Variants

std::char_traits<char>:: eq/lt, std::char_traits<wchar_t>:: eq/lt, std::char_traits<char8_t>:: eq/lt, std::char_traits<char16_t>:: eq/lt, std::char_traits<char32_t>:: eq/lt

From cppreference.net
static bool eq ( char_type a, char_type b ) ;
(1) (constexpr since C++11)
(noexcept since C++11)
static bool lt ( char_type a, char_type b ) ;
(2) (constexpr since C++11)
(noexcept since C++11)
**注記:** - HTMLタグ、属性、C++コード(` `内)は翻訳対象外 - C++固有の用語(static, bool, char_type, constexpr, noexceptなど)は翻訳せず保持 - 数値の(1)、(2)はそのまま保持 - フォーマットと構造は完全に維持

2つの文字を比較します。

1) a b の等値性を比較します。以下のように動作します:
  • static_cast < unsigned char > ( a ) == static_cast < unsigned char > ( b ) と同一の動作をします( char_type char の場合)
  • a == b それ以外の場合
2) a b を全順序付けする方法で比較し、以下のように振る舞う:
  • static_cast < unsigned char > ( a ) < static_cast < unsigned char > ( b ) と同一の動作をする( char_type char の場合)
  • それ以外の場合は a < b

CharTraits の一般的な要件については、文字特性に関する全般的な要件を参照してください。 X::eq および X::lt に関して。

目次

パラメータ

a, b - 比較する文字値

戻り値

1) true aとbが等しい場合、 false それ以外の場合。
2) true aがbより小さい場合は a b より小さい場合、 false それ以外の場合。

計算量

定数。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 467 C++98 std:: char_traits < char > において、 eq() lt()
のセマンティクスはそれぞれ組み込みの == および < char 上で同一であった [1]
組み込みの == および
< unsigned char 上で行うように変更
  1. ほとんどの実装では効率性のため std::memcmp() を呼び出し、データを unsigned char の配列として解釈する。このような実装において char が符号付きの場合 std:: char_traits < char > CharTraits の要件を満たさなくなる。