std::contracts:: contract_violation
|
Определено в заголовочном файле
<contracts>
|
||
|
class
contract_violation
;
|
(since C++26) | |
Класс
std::contracts::contract_violation
определяет тип объектов, используемых для представления нарушения контракта, которое было обнаружено во время оценки
контрактного утверждения
с определённой семантикой оценки.
Объекты этого типа могут быть созданы только реализацией, когда необходимо вызвать обработчик нарушения контракта . Пользователи не могут создавать такие объекты напрямую.
Функции-члены
|
(constructor)
[deleted]
|
contract_violation
объекты не могут быть созданы пользователями
(public member function) |
|
operator=
[deleted]
|
contract_violation
объекты не могут быть присвоены
(public member function) |
|
(destructor)
[possibly virtual]
|
уничтожает объект
contract_violation
(public member function) |
Общая информация о нарушении контракта |
|
|
kind
|
возвращает тип нарушенного утверждения контракта
(public member function) |
|
semantic
|
возвращает семантику вычисления при возникновении нарушения контракта
(public member function) |
|
is_terminating
|
возвращает, является ли семантика вычисления завершающей
(public member function) |
|
detection_mode
|
возвращает причину, вызвавшую нарушение контракта
(public member function) |
|
evaluation_exception
|
возвращает
std::exception_ptr
на исключение, выброшенное при вычислении предиката
(public member function) |
Дополнительная информация о нарушении контракта |
|
|
comment
|
возвращает пояснительную строку о нарушении контракта
(public member function) |
|
location
|
возвращает
std::source_location
указывающий местоположение нарушения контракта
(public member function) |
std::contracts::contract_violation:: contract_violation
|
contract_violation
(
const
contract_violation
&
)
=
delete
;
|
(since C++26) | |
Конструктор копирования определен как удаленный.
std::contracts::contract_violation
не является
CopyConstructible
.
Примечания
Другие конструкторы предназначены только для внутреннего использования и недоступны пользователю.
std::contracts::contract_violation:: operator=
|
contract_violation
&
operator
=
(
const
contract_violation
&
)
=
delete
;
|
(начиная с C++26) | |
Оператор копирующего присваивания определен как удаленный.
std::contracts::contract_violation
не удовлетворяет требованиям
CopyAssignable
.
std::contracts::contract_violation:: ~contract_violation
|
/* see below */
~contract_violation
(
)
;
|
(since C++26) | |
Уничтожает объект
contract_violation
.
Примечания
Определяется реализацией, является ли деструктор виртуальным.
std::contracts::contract_violation:: kind
|
std
::
contracts
::
assertion_kind
kind
(
)
const
noexcept
;
|
(since C++26) | |
Возвращаемое значение
Возвращает значение перечисления, соответствующее синтаксической форме нарушенного контрактного утверждения.
std::contracts::contract_violation:: semantic
|
std
::
contracts
::
evaluation_semantic
semantic
(
)
const
noexcept
;
|
(since C++26) | |
Возвращаемое значение
Возвращает значение перечисления, соответствующее семантике вычисления, с которой была вычислена нарушенная контрактная проверка.
std::contracts::contract_violation:: is_terminating
|
bool
is_terminating
(
)
const
noexcept
;
|
(начиная с C++26) | |
Возвращаемое значение
Если семантика оценки является завершающей семантикой , возвращает true . В противном случае возвращает false .
std::contracts::contract_violation:: detection_mode
|
std
::
contracts
::
detection_mode
detection_mode
(
)
const
noexcept
;
|
(since C++26) | |
Возвращаемое значение
Возвращает значение перечисления, соответствующее причинам, вызвавшим нарушение контракта.
std::contracts::contract_violation:: evaluation_exception
|
std::
exception_ptr
evaluation_exception
(
)
const
noexcept
;
|
(since C++26) | |
Возвращаемое значение
Если нарушение контракта произошло из-за того, что вычисление предиката завершилось через исключение, возвращает объект std::exception_ptr , который ссылается на это исключение или его копию. В противном случае возвращает нулевой объект std::exception_ptr .
std::contracts::contract_violation:: comment
|
const
char
*
comment
(
)
const
noexcept
;
|
(since C++26) | |
Возвращаемое значение
Возвращает определяемую реализацией многобайтовую строку с нулевым завершителем в обычной кодировке литералов .
Примечания
Стандарт C++ рекомендует, чтобы возвращаемая строка содержала текстовое представление предиката нарушенного контрактного утверждения или пустую строку, если сохранение текстового представления нежелательно.
std::contracts::contract_violation:: location
|
std::
source_location
location
(
)
const
noexcept
;
|
(since C++26) | |
Возвращаемое значение
Возвращает объект std::source_location с реализационно-определенным значением.
Примечания
Стандарт C++ рекомендует, чтобы возвращаемое значение было объектом std::source_location , созданным по умолчанию, или значением, идентифицирующим нарушенное контрактное утверждение:
- По возможности, если нарушенное контрактное утверждение было утверждением предусловия , должно возвращаться исходное местоположение вызова функции.
- В противном случае должно возвращаться исходное местоположение контрактного утверждения.