std::experimental:: any_cast
From cppreference.net
<
cpp
|
experimental
|
any
|
template
<
class
ValueType
>
ValueType any_cast ( const any & operand ) ; |
(1) | (biblioteca fundamentals TS) |
|
template
<
class
ValueType
>
ValueType any_cast ( any & operand ) ; |
(2) | (biblioteca fundamentals TS) |
|
template
<
class
ValueType
>
ValueType any_cast ( any && operand ) ; |
(3) | (biblioteca fundamentals TS) |
|
template
<
class
ValueType
>
const ValueType * any_cast ( const any * operand ) noexcept ; |
(4) | (biblioteca fundamentals TS) |
|
template
<
class
ValueType
>
ValueType * any_cast ( any * operand ) noexcept ; |
(5) | (biblioteca fundamentals TS) |
Realiza acceso seguro de tipos al objeto contenido.
Para
(1-3)
, el programa está mal formado si
ValueType
no es una referencia y
std::
is_copy_constructible
<
ValueType
>
::
value
es
false
.
Parámetros
| operando | - |
objetivo
any
objeto
|
Valor de retorno
1)
Devuelve
*
any_cast
<
std::
add_const_t
<
std::
remove_reference_t
<
ValueType
>>>
(
&
operand
)
.
2,3)
Devuelve
*
any_cast
<
std::
remove_reference_t
<
ValueType
>>
(
&
operand
)
.
4,5)
Si
operand
no es un puntero nulo, y el
typeid
del
ValueType
solicitado coincide con el del contenido de
operand
, un puntero al valor contenido en
operand
, de lo contrario un puntero nulo.
Excepciones
1-3)
Lanza
bad_any_cast
si el
typeid
del
ValueType
solicitado no coincide con el del contenido de
operand
.