lyx_mirror/src/support/LAssert.h
Jean-Marc Lasgouttes 8488e475a6 lyxserver cleanup patch + andre's small patches
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2901 a592a061-630c-0410-9148-cb99ea01b6c8
2001-10-19 15:13:49 +00:00

42 lines
743 B
C++

// -*- C++ -*-
#ifndef LASSERT_H
#define LASSERT_H
#include "support/lyxlib.h"
extern void emergencyCleanup();
namespace lyx {
#ifdef ENABLE_ASSERTIONS
/** Live assertion.
This is a debug tool to ensure that the assertion holds. If it don't hole
we run #emergencyCleanup()# and then #lyx::abort".
@param assertion this should evaluate to true unless you want an abort.
*/
template<class A>
inline
void Assert(A assertion)
{
if (!assertion) {
::emergencyCleanup();
lyx::abort();
}
}
#else
/** Dummy assertion.
When compiling without assertions we use this no-op function.
*/
template<class A>
inline
void Assert(A /*assertion*/) {}
#endif /* ENABLE_ASSERTIONS */
} // end of namespace LyX
#endif /* LASSERT_H */