| Home | Libraries | People | FAQ | More

## Macro BOOST_CONTRACT_NO_CONSTRUCTORS

BOOST_CONTRACT_NO_CONSTRUCTORS — Automatically defined by this library when contracts are not checked for constructors.

## Synopsis

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

    BOOST_CONTRACT_NO_CONSTRUCTORS

## Description

This macro is not a configuration macro and this library will generate a compile-time error if users try to define it directly. This library will automatically define this macro when users define all `BOOST_CONTRACT_NO_INVARIANTS`, `BOOST_CONTRACT_NO_POSTCONDITIONS`, and `BOOST_CONTRACT_NO_EXCEPTS`. Users can manually program `#ifndef` statements in their code using this macro to completely disable compilation of contracts for constructors 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).

| Note
Constructor preconditions are checked separately by `boost::contract::constructor_precondition` so they are disabled by `BOOST_CONTRACT_NO_PRECONDITIONS` instead.

See Also: Constructors, Disable Contract Compilation