BOOST_CONTRACT_NO_PUBLIC_FUNCTIONS — 当不对公共函数检查契约时,此库会自动定义此宏。
// In header: <boost/contract/core/config.hpp>
BOOST_CONTRACT_NO_PUBLIC_FUNCTIONS此宏不是配置宏,如果用户直接尝试定义它,此库将生成编译时错误。当用户定义所有 BOOST_CONTRACT_NO_INVARIANTS、BOOST_CONTRACT_NO_PRECONDITIONS、BOOST_CONTRACT_NO_POSTCONDITIONS 和 BOOST_CONTRACT_NO_EXCEPTS 时,此库将自动定义此宏。用户可以使用此宏通过 #ifndef 语句在代码中手动编程,以完全禁用公共函数的契约编译,或者使用 boost/contract_macro.hpp 中定义的宏(仅推荐用于需要完全从生产代码中移除契约代码编译的应用程序)。