Namensräume
Varianten
Aktionen

Dienstprogramm-Bibliothek

Von cppreference.com
< cpp
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 

C++ enthält eine Vielzahl von Dienstprogramm-Bibliotheken, die Funktionalitäten von Bit-Zählung bis zur partiellen Funktionsanwendung bieten. Diese Bibliotheken lassen sich grob in zwei Gruppen einteilen

  • Sprachunterstützungsbibliotheken, und
  • Allzweckbibliotheken.

Inhalt

[edit] Sprachunterstützung

Sprachunterstützungsbibliotheken stellen Klassen und Funktionen bereit, die eng mit Sprachfeatures interagieren und gängige Sprachidiome unterstützen.

[edit] Eigenschaften der Implementierung (seit C++20)

Die Header-Datei <version> liefert implementierungsabhängige Informationen über die C++-Standardbibliothek (z. B. Versionsnummer und Erscheinungsdatum). Sie definiert auch die Bibliotheks-Feature-Test-Makros.

[edit] Typunterstützung

Basistypen (z. B. std::size_t, std::nullptr_t), RTTI (z. B. std::type_info)

[edit] Programm-Dienstprogramme

Beendigung (z. B. std::abort, std::atexit), Umgebung (z. B. std::system), Signale (z. B. std::raise).

[edit] Dynamische Speicherverwaltung

Intelligente Zeiger (z. B. std::shared_ptr), Allokatoren (z. B. std::allocator oder std::pmr::memory_resource), C-style Speicherverwaltung (z. B. std::malloc).

[edit] Fehlerbehandlung

Ausnahmen (z. B. std::exception, std::terminate), Assertionen (z. B. assert).

[edit] Variadische Funktionen

Unterstützung für Funktionen, die eine beliebige Anzahl von Parametern annehmen (über z. B. va_start, va_arg, va_end).

[edit] Initialisierungslisten (seit C++11)

Definiert in der Header-Datei <initializer_list>
verweist auf ein temporäres Array, das in der Listeninitialisierung erstellt wurde
(Klassenvorlage) [edit]

[edit] Erfassung von Quellcode-Informationen (seit C++20)

Definiert in der Header-Datei <source_location>
eine Klasse, die Informationen über den Quellcode darstellt, wie z. B. Dateinamen, Zeilennummern und Funktionsnamen
(Klasse) [edit]

[edit] Drei-Wege-Vergleich (seit C++20)

Definiert in der Header-Datei <compare>
gibt an, dass der Operator <=> konsistente Ergebnisse für die gegebenen Typen liefert
(Konzept) [edit]
der Ergebnistyp des 3-Wege-Vergleichs, der alle 6 Operatoren unterstützt, nicht substituierbar ist und unvergleichbare Werte zulässt
(Klasse) [edit]
der Ergebnistyp des 3-Wege-Vergleichs, der alle 6 Operatoren unterstützt und nicht substituierbar ist
(Klasse) [edit]
der Ergebnistyp des 3-Wege-Vergleichs, der alle 6 Operatoren unterstützt und substituierbar ist
(Klasse) [edit]
benannte Vergleichsfunktionen
(Funktion) [edit]
beschränkte Funktionsobjekte, die x <=> y implementieren
(Klasse) [edit]
erhält den Ergebnistyp des Drei-Wege-Vergleichsoperators <=> für gegebene Typen
(Klassenvorlage) [edit]
die stärkste Vergleichskategorie, in die alle gegebenen Typen konvertiert werden können
(Klassenvorlage) [edit]
führt einen 3-Wege-Vergleich durch und erzeugt ein Ergebnis vom Typ std::strong_ordering
(Customization Point Objekt)[edit]
führt einen 3-Wege-Vergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering
(Customization Point Objekt)[edit]
führt einen 3-Wege-Vergleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering
(Customization Point Objekt)[edit]
führt einen 3-Wege-Vergleich durch und erzeugt ein Ergebnis vom Typ std::strong_ordering, auch wenn operator<=> nicht verfügbar ist
(Customization Point Objekt)[edit]
führt einen 3-Wege-Vergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering, auch wenn operator<=> nicht verfügbar ist
(Customization Point Objekt)[edit]
führt einen 3-Wege-Vergleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering, auch wenn operator<=> nicht verfügbar ist
(Customization Point Objekt)[edit]

[edit] Coroutine-Unterstützung (seit C++20)

Typen für die Unterstützung von Coroutinen (z. B. std::coroutine_traits, std::coroutine_handle).

[edit] Vertragsunterstützung (seit C++26)

Typen für die Unterstützung von Verträgen (z. B. std::contracts::contract_violation).

[edit] Allzweck-Dienstprogramme

[edit] Swap

Definiert in der Header-Datei <utility>
tauscht die Werte von zwei Objekten
(Funktionsvorlage) [edit]
(C++14)
ersetzt das Argument durch einen neuen Wert und gibt seinen vorherigen Wert zurück
(Funktionsvorlage) [edit]
Definiert in der Header-Datei <concepts>
tauscht die Werte von zwei Objekten
(Customization Point Objekt)[edit]

[edit] Typ-Operationen (seit C++11)

Definiert in der Header-Datei <utility>
(C++11)
leitet ein Funktionsargument weiter und verwendet das Typ-Template-Argument, um seine Wertkategorie zu erhalten
(Funktionsvorlage) [edit]
leitet ein Funktionsargument weiter, als ob es in die Wertkategorie und Konstanz des Ausdrucks des angegebenen Typ-Template-Arguments umgewandelt würde
(Funktionsvorlage) [edit]
(C++11)
konvertiert das Argument in ein xvalue
(Funktionsvorlage) [edit]
konvertiert das Argument in ein xvalue, wenn der Move-Konstruktor nicht wirft
(Funktionsvorlage) [edit]
(C++17)
erhält eine Referenz auf const zu seinem Argument
(Funktionsvorlage) [edit]
(C++11)
erhält eine Referenz auf ein Objekt des Typ-Template-Arguments zur Verwendung in einem nicht-ausgewerteten Kontext
(Funktionsvorlage) [edit]
konvertiert eine Aufzählung in ihren zugrundeliegenden Typ
(Funktionsvorlage) [edit]

[edit] Ganzzahl-Vergleichsfunktionen (seit C++20)

Definiert in der Header-Datei <utility>
vergleicht zwei Ganzzahlwerte und stellt sicher, dass vorzeichenbehaftete negative Zahlen kleiner als vorzeichenlose Zahlen sind
(Funktionsvorlage) [edit]
(C++20)
prüft, ob ein Ganzzahlwert im Bereich eines gegebenen Ganzzahltyps liegt
(Funktionsvorlage) [edit]

[edit] Relationale Operatoren (bis C++20)

Definiert in der Header-Datei <utility>
Definiert im Namensraum std::rel_ops
generiert automatisch Vergleichsoperatoren basierend auf benutzerdefinierten operator== und operator<
(Funktionsvorlage) [edit]

[edit] Konstruktionstags (seit C++11)

Definiert in der Header-Datei <utility>
Tag für stückweise Konstruktion
(Tag)[edit]
Tag für In-Place-Konstruktion
(Tag)[edit]
Tag für Wertkonstruktion
(Tag)[edit]

[edit] Paare und Tupel

Definiert in der Header-Datei <utility>
implementiert ein binäres Tupel, d. h. ein Paar von Werten
(Klassenvorlage) [edit]
Definiert in der Header-Datei <tuple>
(C++11)
implementiert einen Container fester Größe, der Elemente von möglicherweise unterschiedlichen Typen enthält
(Klassenvorlage) [edit]
(C++17)
ruft eine Funktion mit einem Tupel von Argumenten auf
(Funktionsvorlage) [edit]
konstruiert ein Objekt mit einem Tupel von Argumenten
(Funktionsvorlage) [edit]
Tupel-Protokoll (seit C++11)
Definiert in der Header-Datei <tuple>
Definiert in der Header-Datei <utility>
Definiert in der Header-Datei <array>
Definiert in der Header-Datei <ranges>
Definiert in der Header-Datei <complex>
erhält die Anzahl der Elemente eines Tupel-ähnlichen Typs
(Klassenvorlage) [edit]
erhält die Elementtypen eines Tupel-ähnlichen Typs
(Klassenvorlage) [edit]

[edit] Summen-Typen und Typ-erased Wrapper (seit C++17)

Definiert in der Header-Datei <optional>
(C++17)
ein Wrapper, der möglicherweise ein Objekt enthält oder auch nicht
(Klassenvorlage) [edit]
 
Definiert in der Header-Datei <expected>
(C++23)
ein Wrapper, der entweder einen erwarteten oder einen Fehlerwert enthält
(Klassenvorlage) [edit]
 
Definiert in der Header-Datei <variant>
(C++17)
eine typsichere diskriminierte Union
(Klassentemplate) [bearbeiten]
 
Definiert in der Header-Datei <any>
(C++17)
Objekte, die Instanzen eines beliebigen CopyConstructible-Typs enthalten
(Klasse) [edit]

[edit] Bitset

Definiert in der Header-Datei <bitset>
implementiert eine Bit-Array fester Länge
(Klassenvorlage) [edit]

[edit] Bit-Manipulation (seit C++20)

Die Header-Datei <bit> stellt mehrere Funktionsvorlagen zum Zugreifen, Manipulieren und Verarbeiten einzelner Bits und Bitsequenzen bereit. Die Byte-Reihenfolge (Endianness) von Skalartypen kann über die std::endian-Einrichtung inspiziert werden.

[edit] Funktionsobjekte (seit C++11)

Partielle Funktionsanwendung (z. B. std::bind) und verwandte Dienstprogramme: Dienstprogramme zum Binden wie std::ref und std::placeholders, polymorphe Funktions-Wrapper: std::function, vordefinierte Funktoren (z. B. std::plus, std::equal_to), Zeiger-auf-Mitglied-zu-Funktions-Konverter std::mem_fn.

[edit] Hash-Unterstützung (seit C++11)

Definiert in der Header-Datei <functional>
(C++11)
Hash-Funktionsobjekt
(Klassenvorlage) [edit]

[edit] Siehe auch

C-Dokumentation für Dienstprogramm-Bibliothek