| Home | Libraries | People | FAQ | More

## Macro BOOST_CONTRACT_NO_ENTRY_INVARIANTS

BOOST_CONTRACT_NO_ENTRY_INVARIANTS — If defined, this library does not check class invariants at entry (undefined by default).

## Synopsis

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

    BOOST_CONTRACT_NO_ENTRY_INVARIANTS

## Description

If this macro is defined, this library internal code is also optimized to reduce compile-time (not just run-time) overhead associated with checking class invariants at entry. In addition, users can manually program `#ifndef` statements in their code using this macro to completely disable compilation of entry class invariants or use the macros defined in `boost/contract_macro.hpp` (recommended only for applications where it is truly necessary to completely remove contract code compilation from production code).

This macro is automatically defined when `BOOST_CONTRACT_NO_INVARIANTS` is defined.

See Also:

Class Invariants, Disable Contract Checking, Disable Contract Compilation