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
<
cpp
|
string
|
char traits
|
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_typeest 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_typeest 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 |
- ↑ 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 .