std:: convertible_to
|
Definido en el encabezado
<concepts>
|
||
|
template
<
class
From,
class
To
>
concept convertible_to
=
|
(desde C++20) | |
El concepto
convertible_to
<
From, To
>
especifica que una expresión del mismo tipo y categoría de valor que aquellos de
std::
declval
<
From
>
(
)
puede convertirse implícita y explícitamente al tipo
To
, y las dos formas de conversión producen resultados iguales.
Contenidos |
Requisitos semánticos
convertible_to
<
From, To
>
se modela solo si, dada una función
fun
de tipo
std::
add_rvalue_reference_t
<
From
>
(
)
tal que la expresión
fun
(
)
es
que preserva la igualdad
,
-
O bien
-
Tono es un tipo de objeto ni un tipo de referencia a objeto, o - static_cast < To > ( fun ( ) ) es igual a [ ] ( ) - > To { return fun ( ) ; } ( ) , y
-
-
Una de las siguientes afirmaciones es verdadera:
- std:: add_rvalue_reference_t < From > no es un tipo de referencia a objeto, o
- std:: add_rvalue_reference_t < From > es una referencia a valor derecho a un tipo no calificado como const, y el estado resultante del objeto referenciado por fun ( ) es válido pero no especificado después de cualquiera de las expresiones anteriores; o
- el objeto referido por fun ( ) no es modificado por ninguna de las expresiones anteriores.
Preservación de la igualdad
Las expresiones declaradas en las requires expressions de los conceptos de la biblioteca estándar deben ser equality-preserving (excepto cuando se indique lo contrario).
Referencias
- Estándar C++23 (ISO/IEC 14882:2024):
-
-
18.4.4 Concepto
convertible_to[concept.convertible]
-
18.4.4 Concepto
- Estándar C++20 (ISO/IEC 14882:2020):
-
-
18.4.4 Concepto
convertible_to[concept.convertible]
-
18.4.4 Concepto
Véase también
|
(C++11)
(C++20)
|
verifica si un tipo puede ser convertido a otro tipo
(plantilla de clase) |