C++ standard libraries extensions, version 3
From cppreference.net
<
cpp
|
experimental
Версия 3 расширений для библиотечных компонентов C++, ISO/IEC TS 19568:2024, определяет следующие новые компоненты для стандартной библиотеки C++, в дополнение к тем, что определены в версии 1 и версии 2 .
Компоненты, включенные в C++17/20, и следующие компоненты удалены в LFTS v3:
- std::experimental::make_array ,
- std::experimental::erased_type ,
- std::experimental::packaged_task , и
- std::experimental::promise .
Охранник области видимости
|
Определено в заголовочном файле
<experimental/scope>
|
|
|
оборачивает функциональный объект и вызывает его при выходе из области видимости
(шаблон класса) |
|
|
оборачивает функциональный объект и вызывает его при выходе из области видимости через исключение
(шаблон класса) |
|
|
оборачивает функциональный объект и вызывает его при нормальном выходе из области видимости
(шаблон класса) |
|
|
универсальная обертка для дескриптора ресурса с RAII
(шаблон класса) |
|
Макросы проверки возможностей
|
Определено в заголовочном файле
<experimental/memory_resource>
|
|
|
__cpp_lib_experimental_memory_resources
|
значение не менее
201803
указывает, что
resource_adaptor
поддерживается
(макроконстанта) |
|
Определено в заголовочном файле
<experimental/functional>
|
|
|
__cpp_lib_experimental_function_polymorphic_allocator
|
значение не менее
202211
указывает, что
std::
pmr
::
polymorphic_allocator
<>
используется для
std::experimental::function
(макроконстанта) |
|
Определено в заголовочном файле
<experimental/scope>
|
|
|
__cpp_lib_experimental_scope
|
значение не менее
201902
указывает, что охранники области видимости поддерживаются
(макроконстанта) |
Примечания
Значение
__cpp_lib_experimental_memory_resources
было увеличено в LFTS v3, поскольку дизайн
resource_adaptor
был переоснован на
std::pmr::memory_resource
.