std::experimental::ranges:: is_swappable_with, std::experimental::ranges:: is_swappable, std::experimental::ranges:: is_nothrow_swappable_with, std::experimental::ranges:: is_nothrow_swappable
|
Défini dans l'en-tête
<experimental/ranges/type_traits>
|
||
|
template
<
class
T,
class
U
>
struct is_swappable_with ; |
(1) | (ranges TS) |
|
template
<
class
T
>
struct is_swappable ; |
(2) | (ranges TS) |
|
template
<
class
T,
class
U
>
struct is_nothrow_swappable_with ; |
(3) | (ranges TS) |
|
template
<
class
T
>
struct is_nothrow_swappable ; |
(4) | (ranges TS) |
value
égale à
true
. Sinon,
value
est
false
.
Les vérifications d'accès
sont effectuées comme depuis un contexte sans relation avec l'un ou l'autre type.
T
n'est pas un type référençable (c'est-à-dire, potentiellement qualifié cv
void
ou un type de fonction avec une
cv-qualifier-seq
ou un
ref-qualifier
), fournit une constante membre
value
égale à
false
. Sinon, fournit une constante membre
value
égale à
ranges
::
is_swappable_with
<
T
&
, T
&
>
::
value
.
T
et
U
doivent chacun être un type complet, (éventuellement qualifié cv)
void
, ou un tableau de limite inconnue. Sinon, le comportement est indéfini.
Table des matières |
Modèles de variables auxiliaires
|
template
<
class
T,
class
U
>
constexpr bool is_swappable_with_v = is_swappable_with < T, U > :: value ; |
(1) | (ranges TS) |
|
template
<
class
T
>
constexpr bool is_swappable_v = is_swappable < T > :: value ; |
(2) | (ranges TS) |
|
template
<
class
T,
class
U
>
constexpr bool is_nothrow_swappable_with_v = is_nothrow_swappable_with < T, U > :: value ; |
(3) | (ranges TS) |
|
template
<
class
T
>
constexpr bool is_nothrow_swappable_v = is_nothrow_swappable < T > :: value ; |
(4) | (ranges TS) |
Hérité de std:: integral_constant
Constantes membres
|
value
[static]
|
true
si
T
est échangeable avec
U
,
false
sinon
(constante membre publique statique) |
Fonctions membres
|
operator bool
|
convertit l'objet en
bool
, retourne
value
(fonction membre publique) |
|
operator()
(C++14)
|
retourne
value
(fonction membre publique) |
Types membres
| Type | Définition |
value_type
|
bool |
type
|
std:: integral_constant < bool , value > |
Notes
Ce trait ne vérifie rien en dehors du contexte immédiat des expressions d'échange : si l'utilisation de
T
ou
U
déclenchait des spécialisations de templates, la génération de fonctions membres spéciales implicitement définies, etc., et que celles-ci contiennent des erreurs, l'échange réel pourrait ne pas compiler même si
ranges::is_swappable_with<T,U>::value
compile et s'évalue à
true
.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
spécifie qu'un type peut être échangé ou que deux types peuvent être échangés l'un avec l'autre
(concept) |
|
|
(C++17)
(C++17)
(C++17)
(C++17)
|
vérifie si les objets d'un type peuvent être échangés avec des objets du même type ou d'un type différent
(modèle de classe) |