Namespaces
Variants

std::contracts::contract_violation

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinenunterstü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)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Gemeinsame Vokabultypen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Vertragsunterstützung
Vertragsverletzungsinformationen
Hilfsfunktionen
 
Definiert in Header <contracts>
class contract_violation;
(seit C++26)

Die Klasse std::contracts::contract_violationcontract_violation definiert den Typ von Objekten, die verwendet werden, um eine Vertragsverletzung darzustellen, die während der Auswertung einer Vertragsassertion

Objekte dieses Typs können nur von der Implementierung erstellt werden, wenn der Vertragsverletzungs-Handler aufgerufen werden muss. Benutzer können solche Objekte nicht direkt erstellen.

Memberfunktionen

(Konstruktor)
[gelöscht]
contract_violation Objekte können nicht durch Benutzer erstellt werden
(öffentliche Elementfunktion)
operator=
[gelöscht]
contract_violation Objekte können nicht zugewiesen werden
(öffentliche Elementfunktion)
(Destruktor)
[möglicherweise virtuell]
zerstört das contract_violation Objekt
(öffentliche Elementfunktion)
Allgemeine Vertragsverletzungsinformationen
kind
gibt die Art der verletzten Vertragsassertion zurück
(öffentliche Elementfunktion)
semantic
gibt die Auswertungssemantik zurück, wenn die Vertragsverletzung auftritt
(öffentliche Elementfunktion)
is_terminating
gibt zurück, ob die Auswertungssemantik terminierend ist
(öffentliche Elementfunktion)
detection_mode
gibt den Grund zurück, der die Vertragsverletzung verursacht
(öffentliche Elementfunktion)
evaluation_exception
gibt einen std::exception_ptr auf die Ausnahme zurück, die von der Prädikatauswertung geworfen wurde
(öffentliche Elementfunktion)
Verschiedene Vertragsverletzungsinformationen
comment
gibt die erläuternde Zeichenkette über die Vertragsverletzung zurück
(öffentliche Elementfunktion)
location
gibt einen std::source_location zurück, der den Ort der Vertragsverletzung angibt
(öffentliche Elementfunktion)

std::contracts::contract_violation:: contract_violation

contract_violation ( const contract_violation & ) = delete ;
(seit C++26)

Der Kopierkonstruktor ist als gelöscht definiert. std::contracts::contract_violation ist nicht CopyConstructible .

Anmerkungen

Andere Konstruktoren sind nur für den internen Gebrauch bestimmt und nicht für Benutzer zugänglich.

std::contracts::contract_violation:: operator=

contract_violation & operator = ( const contract_violation & ) = delete ;
(seit C++26)

Der Kopierzuweisungsoperator ist als gelöscht definiert. std::contracts::contract_violation ist nicht CopyAssignable .

std::contracts::contract_violation:: ~contract_violation

/* siehe unten */ ~contract_violation ( ) ;
(seit C++26)

Zerstört das contract_violation -Objekt.

Hinweise

Es ist implementierungsdefiniert, ob der Destruktor virtuell ist.

std::contracts::contract_violation:: kind

std :: contracts :: assertion_kind kind ( ) const noexcept ;
(seit C++26)

Rückgabewert

Gibt den Enumerator-Wert zurück, der der syntaktischen Form der verletzten Vertragsassertion entspricht.

std::contracts::contract_violation:: semantic

std :: contracts :: evaluation_semantic semantic ( ) const noexcept ;
(seit C++26)

Rückgabewert

Gibt den Enumerator-Wert zurück, der dem Auswertungssemantik entspricht, mit dem die verletzte Contract-Assertion ausgewertet wurde.

std::contracts::contract_violation:: is_terminating

bool is_terminating ( ) const noexcept ;
(seit C++26)

Rückgabewert

Wenn die Auswertungssemantik eine terminierende Semantik ist, gibt true zurück. Andernfalls gibt false zurück.

std::contracts::contract_violation:: detection_mode

std :: contracts :: detection_mode detection_mode ( ) const noexcept ;
(seit C++26)

Rückgabewert

Gibt den Enumerator-Wert zurück, der den Gründen entspricht, die den Vertragsverstoß verursacht haben.

std::contracts::contract_violation:: comment

const char * comment ( ) const noexcept ;
(seit C++26)

Rückgabewert

Wenn der Vertragsverstoß aufgetreten ist, weil die Auswertung des Prädikats über eine Exception beendet wurde, gibt ein std::exception_ptr Objekt zurück, das auf diese Exception oder eine Kopie dieser Exception verweist. Andernfalls gibt ein null std::exception_ptr Objekt zurück.

Anmerkungen

Der C++-Standard empfiehlt, dass der zurückgegebene String eine textuelle Darstellung des Prädikats der verletzten Vertragsassertion enthalten sollte oder einen leeren String, falls das Speichern einer textuellen Darstellung unerwünscht ist.

std::contracts::contract_violation:: location

std:: source_location location ( ) const noexcept ;
(seit C++26)

Rückgabewert

Gibt einen implementierungsdefinierten nullterminierten Multibyte-String in der gewöhnlichen Literalkodierung zurück.

Anmerkungen

Der C++-Standard empfiehlt, dass der zurückgegebene Wert ein standardkonstruiertes std::source_location -Objekt oder ein Wert sein sollte, der die verletzte Vertragsassertion identifiziert:

  • Wenn möglich, sollte bei einer verletzten Precondition-Assertion die Quellposition des Funktionsaufrufs zurückgegeben werden.
  • Andernfalls sollte die Quellposition der Vertragsassertion zurückgegeben werden.