operator==, !=, <, <=, >, >= (std::experimental::optional)
From cppreference.net
<
cpp
|
experimental
|
optional
|
Défini dans l'en-tête
<experimental/optional>
|
||
|
Compare deux
optional
objets
|
||
|
template
<
class
T
>
constexpr bool operator == ( const optional < T > & lhs, const optional < T > & rhs ) ; |
(1) | (bibliothèque fondamentale TS) |
|
template
<
class
T
>
constexpr bool operator ! = ( const optional < T > & lhs, const optional < T > & rhs ) ; |
(2) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator < ( const optional < T > & lhs, const optional < T > & rhs ) ; |
(3) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator <= ( const optional < T > & lhs, const optional < T > & rhs ) ; |
(4) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator > ( const optional < T > & lhs, const optional < T > & rhs ) ; |
(5) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator >= ( const optional < T > & lhs, const optional < T > & rhs ) ; |
(6) | (spécification technique des fondamentaux de la bibliothèque) |
|
Compare un objet
optional
avec un
nullopt
|
||
|
template
<
class
T
>
constexpr bool operator == ( const optional < T > & opt, std:: nullopt_t ) noexcept ; |
(7) | (bibliothèque fondamentale TS) |
|
template
<
class
T
>
constexpr bool operator == ( std:: nullopt_t , const optional < T > & opt ) noexcept ; |
(8) | (bibliothèque fundamentals TS) |
|
template
<
class
T
>
constexpr bool operator ! = ( const optional < T > & opt, std:: nullopt_t ) noexcept ; |
(9) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator ! = ( std:: nullopt_t , const optional < T > & opt ) noexcept ; |
(10) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator < ( const optional < T > & opt, std:: nullopt_t ) noexcept ; |
(11) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator < ( std:: nullopt_t , const optional < T > & opt ) noexcept ; |
(12) | (bibliothèque fondamentale TS) |
|
template
<
class
T
>
constexpr bool operator <= ( const optional < T > & opt, std:: nullopt_t ) noexcept ; |
(13) | (bibliothèque fondamentale TS) |
|
template
<
class
T
>
constexpr bool operator <= ( std:: nullopt_t , const optional < T > & opt ) noexcept ; |
(14) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator > ( const optional < T > & opt, std:: nullopt_t ) noexcept ; |
(15) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator > ( std:: nullopt_t , const optional < T > & opt ) noexcept ; |
(16) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator >= ( const optional < T > & opt, std:: nullopt_t ) noexcept ; |
(17) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator >= ( std:: nullopt_t , const optional < T > & opt ) noexcept ; |
(18) | (bibliothèque fundamentals TS) |
|
Compare un objet
optional
avec un
T
|
||
|
template
<
class
T
>
constexpr bool operator == ( const optional < T > & opt, const T & value ) ; |
(19) | (bibliothèque fundamentals TS) |
|
template
<
class
T
>
constexpr bool operator == ( const T & valeur, const optional < T > & opt ) ; |
(20) | (bibliothèque fundamentals TS) |
|
template
<
class
T
>
constexpr bool operator ! = ( const optional < T > & opt, const T & value ) ; |
(21) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator ! = ( const T & value, const optional < T > & opt ) ; |
(22) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator < ( const optional < T > & opt, const T & value ) ; |
(23) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator < ( const T & value, const optional < T > & opt ) ; |
(24) | (bibliothèque fundamentals TS) |
|
template
<
class
T
>
constexpr bool operator <= ( const optional < T > & opt, const T & value ) ; |
(25) | (bibliothèque fondamentale TS) |
|
template
<
class
T
>
constexpr bool operator <= ( const T & value, const optional < T > & opt ) ; |
(26) | (bibliothèque fundamentals TS) |
|
template
<
class
T
>
constexpr bool operator > ( const optional < T > & opt, const T & value ) ; |
(27) | (bibliothèque fondamentale TS) |
|
template
<
class
T
>
constexpr bool operator > ( const T & value, const optional < T > & opt ) ; |
(28) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator >= ( const optional < T > & opt, const T & value ) ; |
(29) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
T
>
constexpr bool operator >= ( const T & value, const optional < T > & opt ) ; |
(30) | (bibliothèque fondamentale TS) |
Effectue des opérations de comparaison sur
optional
objets.
1-6)
Compare deux objets
optional
,
lhs
et
rhs
. Les valeurs contenues sont comparées (en utilisant
operator
==
pour
(1,2)
et
operator
<
pour
(3-6)
) uniquement si
lhs
et
rhs
contiennent tous deux des valeurs. Sinon,
-
-
- lhs est considéré égal à rhs si, et seulement si, ni lhs ni rhs ne contiennent de valeur.
- lhs est considéré inférieur à rhs si, et seulement si, rhs contient une valeur et lhs n'en contient pas.
-
7-18)
Compare
opt
avec
nullopt
. Équivalent à (1-6) lors de la comparaison avec un
optional
qui ne contient pas de valeur.
19-30)
Compare
opt
avec une
value
. Les valeurs sont comparées (en utilisant
operator
==
pour
(19-22)
et
operator
<
pour
(23-30)
) uniquement si
opt
contient une valeur. Sinon,
opt
est considéré comme
inférieur à
value
.
Paramètres
| lhs, rhs, opt | - |
un objet
optional
à comparer
|
| value | - | valeur à comparer avec la valeur contenue |
| Exigences de type | ||
-
T
doit satisfaire aux exigences de
EqualityComparable
pour utiliser les surcharges (1,2).
|
||
Valeur de retour
1)
Si
bool
(
lhs
)
!
=
bool
(
rhs
)
, retourne
false
.
Sinon, si
bool
(
lhs
)
==
false
(et donc
bool
(
rhs
)
==
false
également), retourne
true
.
Sinon, retourne
*
lhs
==
*
rhs
.
2)
Retourne
!
(
lhs
==
rhs
)
.
3)
Si
bool
(
rhs
)
==
false
retourne
false
.
Sinon, si
bool
(
lhs
)
==
false
, retourne
true
.
Sinon retourne
*
x
<
*
y
.
4)
Retourne
!
(
rhs
<
lhs
)
.
5)
Retourne
rhs
<
lhs
.
6)
Retourne
!
(
lhs
<
rhs
)
.
7,8)
Retourne
!
opt
.
9,10)
Retourne
bool
(
opt
)
.
11)
Retourne
false
.
12)
Retourne
bool
(
opt
)
.
13)
Retourne
!
opt
.
14)
Retourne
true
.
15)
Retourne
bool
(
opt
)
.
16)
Retourne
false
.
17)
Retourne
true
.
18)
Retourne
!
opt
.
19)
Retourne
bool
(
opt
)
?
*
opt
==
value
:
false
.
20)
Retourne
bool
(
opt
)
?
value
==
*
opt
:
false
.
21)
Retourne
bool
(
opt
)
?
!
(
*
opt
==
value
)
:
true
.
22)
Retourne
bool
(
opt
)
?
!
(
value
==
*
opt
)
:
true
.
23)
Retourne
bool
(
opt
)
?
*
opt
<
value
:
true
.
24)
Retourne
bool
(
opt
)
?
value
<
*
opt
:
false
.
25)
Retourne
!
(
opt
>
value
)
.
26)
Retourne
!
(
value
>
opt
)
.
27)
Retourne
bool
(
opt
)
?
value
<
*
opt
:
false
.
28)
Retourne
bool
(
opt
)
?
*
opt
<
value
:
true
.
29)
Retourne
!
(
opt
<
value
)
.
30)
Retourne
!
(
value
<
opt
)
.
Exceptions
1-6)
(aucun)
19-30)
(aucun)