
Le jeudi 20 septembre 2007 à 09:40 +0200, Markus Schöpflin a écrit :
Hello,
I just committed a small fix to arith2.hpp, adding a missing #include <cassert> to the header. This fixes the current breakage of the trunk on Tru64.
Thanks.
When adding this include I was wondering why interval doesn't use BOOST_ASSERT? Is there any specific reason for this?
There are mostly two reasons (be they good or bad). First, BOOST_ASSERT is not that old. At the time the interval library was designed, there was no consensus that all the Boost libraries shall use BOOST_ASSERT. (Is there one now?) Second, most of the assertions in the interval library are for detecting invariants internally violated, while BOOST_ASSERT is meant to detect preconditions a library user did not respect, as far as I understand. That being said, the assertion in arith2.hpp is precisely meant to detect a misuse of the library, so this one should be BOOST_ASSERT actually. Thanks for pointing it out, I will review the various uses of assert in the new interval library. Best regards, Guillaume