std::contracts:: contract_violation
|
Definiert im Header
<contracts>
|
||
|
class
contract_violation
;
|
(seit C++26) | |
Die Klasse
std::contracts::contract_violation
definiert den Typ von Objekten, die verwendet werden, um einen Vertragsverstoß darzustellen, der während der Auswertung einer
Vertragsassertion
mit einer bestimmten Auswertungssemantik erkannt wurde.
Objekte dieses Typs können nur von der Implementierung erstellt werden, wenn der Contract-Verletzungs-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:: evaluation_exception
|
std::
exception_ptr
evaluation_exception
(
)
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.
std::contracts::contract_violation:: comment
|
const
char
*
comment
(
)
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 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 ein std::source_location -Objekt mit implementierungsdefiniertem Wert 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.