std::experimental:: any_cast
From cppreference.net
<
cpp
|
experimental
|
any
|
template
<
class
ValueType
>
ValueType any_cast ( const any & operand ) ; |
(1) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
ValueType
>
ValueType any_cast ( any & operand ) ; |
(2) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
ValueType
>
ValueType any_cast ( any && operand ) ; |
(3) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
ValueType
>
const ValueType * any_cast ( const any * operand ) noexcept ; |
(4) | (spécifications techniques des bibliothèques fondamentales) |
|
template
<
class
ValueType
>
ValueType * any_cast ( any * operand ) noexcept ; |
(5) | (spécifications techniques des bibliothèques fondamentales) |
Effectue un accès sécurisé au type de l'objet contenu.
Pour
(1-3)
, le programme est mal formé si
ValueType
n'est pas une référence et
std::
is_copy_constructible
<
ValueType
>
::
value
est
false
.
Paramètres
| opérande | - |
cible
any
objet
|
Valeur de retour
1)
Retourne
*
any_cast
<
std::
add_const_t
<
std::
remove_reference_t
<
ValueType
>>>
(
&
operand
)
.
2,3)
Retourne
*
any_cast
<
std::
remove_reference_t
<
ValueType
>>
(
&
operand
)
.
4,5)
Si
operand
n'est pas un pointeur nul, et que le
typeid
du
ValueType
demandé correspond à celui du contenu de
operand
, un pointeur vers la valeur contenue dans
operand
, sinon un pointeur nul.
Exceptions
1-3)
Lance
bad_any_cast
si le
typeid
du
ValueType
demandé ne correspond pas à celui du contenu de
operand
.