| Home | Libraries | People | FAQ | More

## Macro BOOST_CONTRACT_CHECK_AXIOM

BOOST_CONTRACT_CHECK_AXIOM — Preferred way to document in the code implementation check conditions that are computationally prohibitive, at least compared to the computational cost of executing the function body.

## Synopsis

    // In header: <boost/contract/core/check_macro.hpp>

    BOOST_CONTRACT_CHECK_AXIOM(cond)

## Description

The specified condition will always be compiled and validated syntactically, but it will never be checked at run-time. This macro is defined by code equivalent to:

    #define BOOST_CONTRACT_CHECK_AXIOM(cond) \
        BOOST_CONTRACT_CHECK(true || cond)

`BOOST_CONTRACT_CHECK`, `BOOST_CONTRACT_CHECK_AUDIT`, and `BOOST_CONTRACT_CHECK_AXIOM` are the three assertion levels predefined by this library for implementation checks. If there is a need, programmers are free to implement their own assertion levels defining macros similar to the one above.

See Also:

Assertion Levels

Parameters:

`cond` | Boolean condition to check within implementation code (function body, etc.). (This is not a variadic macro parameter so any comma it might contain must be protected by round parenthesis and `BOOST_CONTRACT_CHECK_AXIOM((cond))` will always work.)