In my opinion, assertions indicate enfrorcement of pre/post conditions, that
are separate from the algorithmic logic of a function. What happens from the
result of the assertion, an exception or an abort is a separate issue.

Consider (if assert takes a boost::function0<void>):

assert (!harddrive.isFragmented (), boost::bind (&HardDrive::defrag,
&harddrive));

In this case, it there is a simple remedy to the failed pre-condition. The
alternative is: assert (!harddrive.isFragmented (), std::abort);




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to