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 depuis C++11)
(noexcept depuis C++11)
static bool lt ( char_type a, char_type b ) ;
(2) (constexpr depuis C++11)
(noexcept depuis C++11)

Compare deux caractères.

1) Compare a et b pour l'égalité, se comporte identiquement à
  • static_cast < unsigned char > ( a ) == static_cast < unsigned char > ( b ) , si char_type est char ,
  • a == b sinon.
2) Compare a et b de manière à établir un ordre total, se comporte identiquement à
  • static_cast < unsigned char > ( a ) < static_cast < unsigned char > ( b ) , si char_type est char ,
  • a < b sinon.

Voir CharTraits pour les exigences générales concernant les traits de caractères pour X::eq et X::lt .

Table des matières

Paramètres

a, b - valeurs de caractères à comparer

Valeur de retour

1) true si a et b sont égaux, false sinon.
2) true si a est inférieur à b , false sinon.

Complexité

Constante.

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 467 C++98 pour std:: char_traits < char > , la sémantique de eq() et lt()
est identique à celle des opérateurs natifs == et < sur char respectivement [1]
modifié en opérateurs natifs == et
< sur unsigned char
  1. La plupart des implémentations appellent std::memcmp() pour des raisons d'efficacité, ce qui interprète les données comme des tableaux de unsigned char . Si char est signé sur de telles implémentations, std:: char_traits < char > ne satisfait pas aux exigences de CharTraits .