Namespaces
Variants

std::contracts:: contract_violation

From cppreference.net
Utilities library
Contract support
Contract-violation information
contract_violation
(C++26)
Helper functions
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.

Table des matières

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é.