C++ standard libraries extensions, version 3
From cppreference.net
<
cpp
|
experimental
Version 3 der C++ Extensions for Library Fundamentals, ISO/IEC TS 19568:2024, definiert die folgenden neuen Komponenten für die C++-Standardbibliothek, zusätzlich zu denen, die in Version 1 und Version 2 definiert sind.
Komponenten, die in C++17/20 zusammengeführt wurden, und die folgenden Komponenten werden in LFTS v3 entfernt:
- std::experimental::make_array ,
- std::experimental::erased_type ,
- std::experimental::packaged_task , und
- std::experimental::promise .
Scope Guard
|
Definiert im Header
<experimental/scope>
|
|
|
umschließt ein Funktionsobjekt und ruft es beim Verlassen des Gültigkeitsbereichs auf
(Klassentemplate) |
|
|
umschließt ein Funktionsobjekt und ruft es beim Verlassen des Gültigkeitsbereichs durch eine Exception auf
(Klassentemplate) |
|
|
umschließt ein Funktionsobjekt und ruft es beim normalen Verlassen des Gültigkeitsbereichs auf
(Klassentemplate) |
|
|
universeller RAII-Ressourcenhandle-Wrapper
(Klassentemplate) |
|
Feature-Test-Makros
|
Definiert im Header
<experimental/memory_resource>
|
|
|
__cpp_lib_experimental_memory_resources
|
ein Wert von mindestens
201803
zeigt an, dass
resource_adaptor
unterstützt wird
(Makrokonstante) |
|
Definiert im Header
<experimental/functional>
|
|
|
__cpp_lib_experimental_function_polymorphic_allocator
|
ein Wert von mindestens
202211
zeigt an, dass
std::
pmr
::
polymorphic_allocator
<>
verwendet wird für
std::experimental::function
(Makrokonstante) |
|
Definiert im Header
<experimental/scope>
|
|
|
__cpp_lib_experimental_scope
|
ein Wert von mindestens
201902
zeigt an, dass die Scope Guards unterstützt werden
(Makrokonstante) |
Hinweise
Der Wert von
__cpp_lib_experimental_memory_resources
wurde in LFTS v3 erhöht, da das Design von
resource_adaptor
auf
std::pmr::memory_resource
neu ausgerichtet wurde.