Namespaces
Variants

std::contracts::detection_mode

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
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 Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Integer-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabeltypen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Vertragsunterstützung
Vertragsverletzungsinformationen
Hilfsfunktionen
 
Definiert in Header <contracts>
enum class detection_mode : /* unspecified */ {
    predicate_false = 1,
    evaluation_exception = 2
};
(seit C++26)

Die Enumeratoren von std::contracts::detection_mode entsprechen den Gründen, die die Vertragsverletzung in einem Kontext verursachen, der nicht offensichtlich konstant ausgewertet ist, mit den unten aufgeführten Bedeutungen:

Enumerator Bedeutung
predicate_false Die Vertragsverletzung tritt auf, weil das Ergebnis des Prädikats ist false
evaluation_exception Die Vertragsverletzung tritt auf, weil die Auswertung des Prädikats über eine Ausnahme beendet wird

Hinweise

Wenn ein Vertragsverstoß in einem Kontext auftritt, der offensichtlich konstant ausgewertet wird, wird der Contract-Verletzungs-Handler nicht aufgerufen.

Siehe auch

der Typ, der die Vertragsverletzungsinformationen enthält
(Klasse)
die Art der verletzten Vertragsassertion
(Enumeration)
die Auswertungssemantik bei Auftreten einer Vertragsverletzung
(Enumeration)