mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-13 06:20:28 +00:00
44 lines
676 B
C
44 lines
676 B
C
|
// -*- C++ -*-
|
||
|
#ifndef _LASSERT_H_
|
||
|
#define _LASSERT_H_
|
||
|
|
||
|
//namespace LyX {
|
||
|
|
||
|
#define HAVE_TEMPLATE
|
||
|
#ifdef HAVE_TEMPLATE
|
||
|
//template<class X, class A> inline void Assert(A assertion)
|
||
|
template<class A> inline void Assert(A assertion)
|
||
|
{
|
||
|
//if (!assertion) throw X();
|
||
|
if (!assertion) {
|
||
|
abort();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#ifdef HAVE_PARTIAL_SPECIALIZATION
|
||
|
// Not too sure if this is the correct way to specialize
|
||
|
template<class A> inline void Assert(A * ptr)
|
||
|
{
|
||
|
if (!ptr) {
|
||
|
abort();
|
||
|
}
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
//template<class A, class E> inline void Assert(A assertion, E except)
|
||
|
//{
|
||
|
// if (!assertion) except;
|
||
|
//}
|
||
|
|
||
|
#else
|
||
|
|
||
|
inline void lyx_assert(...)
|
||
|
{
|
||
|
// nothing
|
||
|
}
|
||
|
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
//} // end of namespace LyX
|