boost::contract::check c = boost::contract::function()
.precondition([&] {
BOOST_CONTRACT_ASSERT(
- total + *i <= std::numeric_limits<int>::max());
+ total < std::numeric_limits<int>::max() - *i);
})
.postcondition([&] {
BOOST_CONTRACT_ASSERT(total == *old_total + *i);