Namensräume
Varianten
Aktionen

C++ Standardbibliotheks-Erweiterungen, Version 3

Von cppreference.com
 
 
Experimentell
Technische Spezifikation
Dateisystembibliothek (Filesystem TS)
Grundlagen der Bibliothek (Library Fundamentals TS)
Grundlagen der Bibliothek 2 (Library Fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Erweiterungen für Parallelität (Parallelism TS)
Erweiterungen für Parallelität 2 (Parallelism TS v2)
Erweiterungen für Nebenläufigkeit (Concurrency TS)
Erweiterungen für Nebenläufigkeit 2 (Concurrency TS v2)
Konzepte (Concepts TS)
Bereiche (Ranges TS)
Reflektion (Reflection TS)
Mathematische Spezialfunktionen (Special Functions TR)
Experimentell Nicht-TS
Pattern Matching
Lineare Algebra
std::execution
Verträge
2D-Grafik
 
 

Version 3 der C++-Erweiterungen für 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.

In C++17/20 integrierte Komponenten und die folgenden Komponenten, die in LFTS v3 entfernt wurden

[bearbeiten] Scope guard

Definiert in Header <experimental/scope>
umschließt ein Funktions-Objekt und ruft es beim Verlassen des Geltungsbereichs auf
(Klassenvorlage) [bearbeiten]
umschließt ein Funktions-Objekt und ruft es beim Verlassen des Geltungsbereichs durch eine Ausnahme auf
(Klassenvorlage) [bearbeiten]
umschließt ein Funktions-Objekt und ruft es beim normalen Verlassen des Geltungsbereichs auf
(Klassenvorlage) [bearbeiten]
universeller RAII-Ressourcen-Handle-Wrapper
(Klassenvorlage) [bearbeiten]

[bearbeiten] Feature-Testmakros

Definiert im Header <experimental/memory_resource>
__cpp_lib_experimental_memory_resources
ein Wert von mindestens 201803 zeigt an, dass resource_adaptor unterstützt wird
(Makro-Konstante)
Definiert im Header <experimental/functional>
__cpp_lib_experimental_function_polymorphic_allocator
ein Wert von mindestens 202211 zeigt an, dass std::pmr::polymorphic_allocator<> für std::experimental::function verwendet wird
(Makro-Konstante)
Definiert in Header <experimental/scope>
__cpp_lib_experimental_scope
ein Wert von mindestens 201902 zeigt an, dass die Scope-Guards unterstützt werden
(Makro-Konstante)

[bearbeiten] 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 basiert.