std::contracts:: contract_violation
|
Definido en el encabezado
<contracts>
|
||
|
class
contract_violation
;
|
(desde C++26) | |
La clase
std::contracts::contract_violation
define el tipo de objetos utilizados para representar una violación de contrato que ha sido detectada durante la evaluación de una
aserción de contrato
con una semántica de evaluación particular.
Los objetos de este tipo solo pueden ser creados por la implementación cuando el manejador de violación de contrato necesita ser invocado. Los usuarios no pueden crear dichos objetos directamente.
Funciones miembro
|
(constructor)
[deleted]
|
contract_violation
los objetos no pueden ser construidos por los usuarios
(función miembro pública) |
|
operator=
[deleted]
|
contract_violation
los objetos no pueden ser asignados
(función miembro pública) |
|
(destructor)
[possibly virtual]
|
destruye el objeto
contract_violation
(función miembro pública) |
Información general de violación de contrato |
|
|
kind
|
devuelve el tipo de aserción de contrato violada
(función miembro pública) |
|
semantic
|
devuelve la semántica de evaluación cuando ocurre la violación del contrato
(función miembro pública) |
|
is_terminating
|
devuelve si la semántica de evaluación es terminante
(función miembro pública) |
|
detection_mode
|
devuelve la razón que causa la violación del contrato
(función miembro pública) |
|
evaluation_exception
|
devuelve un
std::exception_ptr
a la excepción lanzada desde la evaluación del predicado
(función miembro pública) |
Información miscelánea de violación de contrato |
|
|
comment
|
devuelve la cadena explicativa sobre la violación del contrato
(función miembro pública) |
|
location
|
devuelve un
std::source_location
indicando la ubicación de la violación del contrato
(función miembro pública) |
std::contracts::contract_violation:: contract_violation
|
contract_violation
(
const
contract_violation
&
)
=
delete
;
|
(desde C++26) | |
El constructor de copia está definido como eliminado.
std::contracts::contract_violation
no es
CopyConstructible
.
Notas
Otros constructores son solo para uso interno y no son accesibles para el usuario.
std::contracts::contract_violation:: operator=
|
contract_violation
&
operator
=
(
const
contract_violation
&
)
=
delete
;
|
(desde C++26) | |
El operador de asignación de copia está definido como eliminado.
std::contracts::contract_violation
no es
CopyAssignable
.
std::contracts::contract_violation:: ~contract_violation
|
/* ver más abajo */
~contract_violation
(
)
;
|
(desde C++26) | |
Destruye el objeto
contract_violation
.
Notas
Está definido por la implementación si el destructor es virtual.
std::contracts::contract_violation:: kind
|
std
::
contracts
::
assertion_kind
kind
(
)
const
noexcept
;
|
(desde C++26) | |
Valor de retorno
Devuelve el valor del enumerador correspondiente a la forma sintáctica de la aserción de contrato violada.
std::contracts::contract_violation:: semantic
|
std
::
contracts
::
evaluation_semantic
semantic
(
)
const
noexcept
;
|
(desde C++26) | |
Valor de retorno
Devuelve el valor del enumerador correspondiente a la semántica de evaluación con la cual se evaluó la aserción de contrato violada.
std::contracts::contract_violation:: is_terminating
|
bool
is_terminating
(
)
const
noexcept
;
|
(desde C++26) | |
Valor de retorno
Si la semántica de evaluación es una semántica de terminación , retorna true . De lo contrario retorna false .
std::contracts::contract_violation:: detection_mode
|
std
::
contracts
::
detection_mode
detection_mode
(
)
const
noexcept
;
|
(desde C++26) | |
Valor de retorno
Devuelve el valor del enumerador correspondiente a las razones que causaron la violación del contrato.
std::contracts::contract_violation:: evaluation_exception
|
std::
exception_ptr
evaluation_exception
(
)
const
noexcept
;
|
(desde C++26) | |
Valor de retorno
Si la violación del contrato ocurrió porque la evaluación del predicado finalizó mediante una excepción, retorna un objeto std::exception_ptr que hace referencia a esa excepción o a una copia de la misma. De lo contrario, retorna un objeto std::exception_ptr nulo.
std::contracts::contract_violation:: comment
|
const
char
*
comment
(
)
const
noexcept
;
|
(desde C++26) | |
Valor de retorno
Devuelve una cadena multibyte terminada en nulo definida por la implementación en la codificación literal ordinaria .
Notas
El estándar de C++ recomienda que la cadena devuelta debería contener una representación textual del predicado de la aserción de contrato violada o una cadena vacía si no se desea almacenar una representación textual.
std::contracts::contract_violation:: location
|
std::
source_location
location
(
)
const
noexcept
;
|
(desde C++26) | |
Valor de retorno
Retorna un objeto std::source_location con valor definido por la implementación.
Notas
El estándar de C++ recomienda que el valor retornado debería ser un objeto std::source_location construido por defecto o un valor que identifique la aserción de contrato violada:
- Cuando sea posible, si la aserción de contrato violada era una aserción de precondición , debería retornarse la ubicación en el código de la invocación de la función.
- En caso contrario, debería retornarse la ubicación en el código de la aserción de contrato.