std::experimental::ranges:: is_swappable_with, std::experimental::ranges:: is_swappable, std::experimental::ranges:: is_nothrow_swappable_with, std::experimental::ranges:: is_nothrow_swappable
|
Definido en el encabezado
<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
igual a
true
. De lo contrario,
value
es
false
.
Las comprobaciones de acceso
se realizan como si fuera desde un contexto no relacionado con ninguno de los tipos.
T
no es un tipo referenciable (es decir, posiblemente calificado cv
void
o un tipo de función con un
cv-qualifier-seq
o un
ref-qualifier
), proporciona una constante miembro
value
igual a
false
. De lo contrario, proporciona una constante miembro
value
igual a
ranges
::
is_swappable_with
<
T
&
, T
&
>
::
value
.
T
y
U
deberán ser cada uno un tipo completo, (posiblemente calificado con cv)
void
, o un array de límite desconocido. De lo contrario, el comportamiento es indefinido.
Contenidos |
Plantillas de variables auxiliares
|
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) |
Heredado de std:: integral_constant
Constantes miembro
|
value
[static]
|
true
si
T
es intercambiable con
U
,
false
en caso contrario
(constante miembro pública estática) |
Funciones miembro
|
operator bool
|
convierte el objeto a
bool
, devuelve
value
(función miembro pública) |
|
operator()
(C++14)
|
devuelve
value
(función miembro pública) |
Tipos miembro
| Tipo | Definición |
value_type
|
bool |
type
|
std:: integral_constant < bool , value > |
Notas
Este rasgo no verifica nada fuera del contexto inmediato de las expresiones de intercambio: si el uso de
T
o
U
activaría especializaciones de plantilla, generación de funciones miembro especiales definidas implícitamente, etc., y esas tienen errores, el intercambio real podría no compilar incluso si
ranges::is_swappable_with<T,U>::value
compila y se evalúa como
true
.
Ejemplo
|
Esta sección está incompleta
Motivo: sin ejemplo |
Véase también
|
especifica que un tipo puede ser intercambiado o que dos tipos pueden ser intercambiados entre sí
(concepto) |
|
|
(C++17)
(C++17)
(C++17)
(C++17)
|
verifica si objetos de un tipo pueden ser intercambiados con objetos del mismo tipo o de diferente tipo
(plantilla de clase) |