std::contracts:: contract_violation
|
Défini dans l'en-tête
<contracts>
|
||
|
class
contract_violation
;
|
(depuis C++26) | |
La classe
std::contracts::contract_violation
définit le type d'objets utilisés pour représenter une violation de contrat qui a été détectée durant l'évaluation d'une
assertion de contrat
avec une sémantique d'évaluation particulière.
Les objets de ce type ne peuvent être créés que par l'implémentation lorsque le gestionnaire de violation de contrat doit être invoqué. Les utilisateurs ne peuvent pas créer directement de tels objets.
Fonctions membres
|
(constructeur)
[supprimé]
|
contract_violation
ne peut pas être construit par les utilisateurs
(fonction membre publique) |
|
operator=
[supprimé]
|
contract_violation
ne peut pas être assigné
(fonction membre publique) |
|
(destructeur)
[éventuellement virtuel]
|
détruit l'objet
contract_violation
(fonction membre publique) |
Informations générales sur la violation de contrat |
|
|
kind
|
retourne le type d'assertion de contrat violée
(fonction membre publique) |
|
semantic
|
retourne la sémantique d'évaluation lors de la violation de contrat
(fonction membre publique) |
|
is_terminating
|
indique si la sémantique d'évaluation est terminante
(fonction membre publique) |
|
detection_mode
|
retourne la raison causant la violation de contrat
(fonction membre publique) |
|
evaluation_exception
|
retourne un
std::exception_ptr
vers l'exception levée lors de l'évaluation du prédicat
(fonction membre publique) |
Informations diverses sur la violation de contrat |
|
|
comment
|
retourne la chaîne explicative concernant la violation de contrat
(fonction membre publique) |
|
location
|
retourne un
std::source_location
indiquant l'emplacement de la violation de contrat
(fonction membre publique) |
std::contracts::contract_violation:: contract_violation
|
contract_violation
(
const
contract_violation
&
)
=
delete
;
|
(depuis C++26) | |
Le constructeur de copie est défini comme supprimé.
std::contracts::contract_violation
n'est pas
CopyConstructible
.
Notes
Les autres constructeurs sont réservés à un usage interne uniquement, ils ne sont pas accessibles à l'utilisateur.
std::contracts::contract_violation:: operator=
|
contract_violation
&
operator
=
(
const
contract_violation
&
)
=
delete
;
|
(depuis C++26) | |
L'opérateur d'affectation par copie est défini comme supprimé.
std::contracts::contract_violation
n'est pas
CopyAssignable
.
std::contracts::contract_violation:: ~contract_violation
|
/* voir ci-dessous */
~contract_violation
(
)
;
|
(depuis C++26) | |
Détruit l'objet
contract_violation
.
Notes
Il est défini par l'implémentation si le destructeur est virtuel.
std::contracts::contract_violation:: kind
|
std
::
contracts
::
assertion_kind
kind
(
)
const
noexcept
;
|
(depuis C++26) | |
Valeur de retour
Retourne la valeur d'énumération correspondant à la forme syntaxique de l'assertion de contrat violée.
std::contracts::contract_violation:: semantic
|
std
::
contracts
::
evaluation_semantic
semantic
(
)
const
noexcept
;
|
(depuis C++26) | |
Valeur de retour
Retourne la valeur d'énumération correspondant à la sémantique d'évaluation avec laquelle l'assertion de contrat violée a été évaluée.
std::contracts::contract_violation:: is_terminating
|
bool
is_terminating
(
)
const
noexcept
;
|
(depuis C++26) | |
Valeur de retour
Si la sémantique d'évaluation est une sémantique de terminaison , retourne true . Sinon retourne false .
std::contracts::contract_violation:: detection_mode
|
std
::
contracts
::
detection_mode
detection_mode
(
)
const
noexcept
;
|
(depuis C++26) | |
Valeur de retour
Retourne la valeur d'énumération correspondant aux raisons ayant causé la violation du contrat.
std::contracts::contract_violation:: evaluation_exception
|
std::
exception_ptr
evaluation_exception
(
)
const
noexcept
;
|
(depuis C++26) | |
Valeur de retour
Si la violation de contrat s'est produite parce que l'évaluation du prédicat s'est terminée via une exception, retourne un objet std::exception_ptr qui fait référence à cette exception ou à une copie de cette exception. Sinon, retourne un objet std::exception_ptr nul.
std::contracts::contract_violation:: comment
|
const
char
*
comment
(
)
const
noexcept
;
|
(depuis C++26) | |
Valeur de retour
Retourne une chaîne multioctet terminée par un caractère nul définie par l'implémentation dans l' encodage littéral ordinaire .
Notes
La norme C++ recommande que la chaîne retournée devrait contenir une représentation textuelle du prédicat de l'assertion de contrat violée ou une chaîne vide si le stockage d'une représentation textuelle n'est pas souhaité.
std::contracts::contract_violation:: location
|
std::
source_location
location
(
)
const
noexcept
;
|
(depuis C++26) | |
Valeur de retour
Retourne un objet std::source_location avec une valeur définie par l'implémentation.
Notes
La norme C++ recommande que la valeur retournée devrait être un objet std::source_location construit par défaut ou une valeur identifiant l'assertion de contrat violée :
- Lorsque possible, si l'assertion de contrat violée était une assertion de précondition , l'emplacement source de l'invocation de la fonction devrait être retourné.
- Sinon, l'emplacement source de l'assertion de contrat devrait être retourné.