Go to the source code of this file.
Macros | |
#define | ellipsis_contracts_assert(COND, ...) |
#define | ellipsis_contracts_assume(COND, ...) |
#define | ellipsis_contracts_conclusion(COND, ...) |
#define | ellipsis_contracts_fact(COND, ...) |
#define | ellipsis_contracts_invariant(COND, ...) |
#define | ellipsis_contracts_post(COND, ...) |
#define | ellipsis_contracts_pre(COND, ...) |
#define | ellipsis_contracts_premise(COND, ...) |
#define ellipsis_contracts_assert | ( | COND, | |
... | |||
) |
An assertion COND
that is checked (compile time if possible otherwise runtime) in the context of the invocation of this macro.
The second, optional, parameter is a string literal that should provide information for the case that the condition COND
does not hold.
If the condition COND
does not hold and is only checked a run time, the execution is aborted by means of a call to abort
as a last resort.
#define ellipsis_contracts_assume | ( | COND, | |
... | |||
) |
An assumption COND
that holds in the context of the invocation of this macro.
COND
is not checked at that place, but it is assumed to hold for the code that is following.The second, optional, parameter is a string literal that should provide information for the case that the condition COND
does not hold.
If the condition COND
does not hold, the execution has undefined behavior by means of the C standard macro unreachable
.
#define ellipsis_contracts_conclusion | ( | COND, | |
... | |||
) |
An assumption COND
that is assumed after the containing function returns.
At the moment that is not much more than
If you want real postconditions look into the mechanism of ellipsis-interface.h.
#define ellipsis_contracts_fact | ( | COND, | |
... | |||
) |
An assumption COND
that is assumed to hold at the start of the containing function and before the containing function returns.
At the moment that is not much more than combining ellipsis_contracts_premise and ellipsis_contracts_conclusion.
If you want real invariants look into the mechanism of ellipsis-interface.h.
#define ellipsis_contracts_invariant | ( | COND, | |
... | |||
) |
An assertion COND
that is checked (compile time if possible otherwise runtime) at the start of a function and before the containing function returns.
At the moment that is not much more than combining ellipsis_contracts_pre and ellipsis_contracts_post.
If you want real invariants look into the mechanism of ellipsis-interface.h.
#define ellipsis_contracts_post | ( | COND, | |
... | |||
) |
An assertion COND
that is checked (compile time if possible otherwise runtime) before the containing function returns.
At the moment that is not much more than
If you want real postconditions look into the mechanism of ellipsis-interface.h.
#define ellipsis_contracts_pre | ( | COND, | |
... | |||
) |
An assertion COND
that is checked (compile time if possible otherwise runtime) at the start of the containing function.
At the moment that is not much more than ellipsis_contracts_assert. If you want real preconditions look into the mechanism of ellipsis-interface.h.
#define ellipsis_contracts_premise | ( | COND, | |
... | |||
) |
An assumption COND
that is assumed to hold at the start of the containing function.
At the moment that is not much more than ellipsis_contracts_assume. If you want real preconditions look into the mechanism of ellipsis-interface.h.