C++ standard libraries extensions, version 3
From cppreference.net
<
cpp
|
experimental
La version 3 des Extensions C++ pour les fondamentaux de la bibliothèque, ISO/IEC TS 19568:2024, définit les nouveaux composants suivants pour la bibliothèque standard C++, en plus de ceux définis dans la version 1 et la version 2 .
Les composants fusionnés dans C++17/20 et les composants suivants sont supprimés dans LFTS v3 :
- std::experimental::make_array ,
- std::experimental::erased_type ,
- std::experimental::packaged_task , et
- std::experimental::promise .
Garde de portée
|
Défini dans l'en-tête
<experimental/scope>
|
|
|
encapsule un objet fonction et l'invoque à la sortie de la portée
(modèle de classe) |
|
|
encapsule un objet fonction et l'invoque à la sortie de la portée via une exception
(modèle de classe) |
|
|
encapsule un objet fonction et l'invoque à la sortie normale de la portée
(modèle de classe) |
|
|
gestionnaire de ressource RAII universel
(modèle de classe) |
|
Macros de test de fonctionnalités
|
Défini dans l'en-tête
<experimental/memory_resource>
|
|
|
__cpp_lib_experimental_memory_resources
|
une valeur d'au moins
201803
indique que
resource_adaptor
est pris en charge
(constante de macro) |
|
Défini dans l'en-tête
<experimental/functional>
|
|
|
__cpp_lib_experimental_function_polymorphic_allocator
|
une valeur d'au moins
202211
indique que
std::
pmr
::
polymorphic_allocator
<>
est utilisé pour
std::experimental::function
(constante de macro) |
|
Défini dans l'en-tête
<experimental/scope>
|
|
|
__cpp_lib_experimental_scope
|
une valeur d'au moins
201902
indique que les gardes de portée sont pris en charge
(constante de macro) |
Notes
La valeur de
__cpp_lib_experimental_memory_resources
a été augmentée dans LFTS v3, car la conception de
resource_adaptor
est rebasée sur
std::pmr::memory_resource
.