Namespaces
Variants

Standard library header <contracts> (C++26)

From cppreference.net
Standard library headers

Dieser Header ist Teil der Sprachunterstützungsbibliothek .

Inhaltsverzeichnis

Typen

Definiert im Namespace std::contracts
die Art der verletzten Vertragsassertion
(enum)
die Auswertungssemantik bei Auftreten der Vertragsverletzung
(enum)
der Grund, der die Vertragsverletzung verursacht
(enum)
der Typ, der die Vertragsverletzungsinformationen enthält
(class)

Funktionen

Definiert im Namespace std::contracts
ruft den Standard-Vertragsverletzungshandler auf
(function)

Übersicht

// alle freistehend
namespace std::contracts {
  enum class assertion_kind : /* unspecified */ {
    pre = 1,
    post = 2,
    assert = 3
  };
  enum class evaluation_semantic : /* unspecified */ {
    ignore = 1,
    observe = 2,
    enforce = 3,
    quick_enforce = 4
  };
  enum class detection_mode : /* unspecified */ {
    predicate_false = 1,
    evaluation_exception = 2
  };
  // Klasse contract_violation
  class contract_violation;
  void invoke_default_contract_violation_handler(const contract_violation&);
}

Klasse std :: contracts :: contract_violation

namespace std::contracts {
  class contract_violation
  {
    // kein benutzerzugänglicher Konstruktor
  public:
    contract_violation(const contract_violation&) = delete;
    contract_violation& operator=(const contract_violation&) = delete;
    /* siehe Beschreibung */ ~contract_violation();
    const char* comment() const noexcept;
    contracts::detection_mode detection_mode() const noexcept;
    exception_ptr evaluation_exception() const noexcept;
    bool is_terminating() const noexcept;
    assertion_kind kind() const noexcept;
    source_location location() const noexcept;
    evaluation_semantic semantic() const noexcept;
  };
}