29#if defined(DDKERNEL_BREAK_POINT_DUMMY_ENABLED)
37 const char* cpComment,
38 bool * pbIgnoreThis = 0 );
40#if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(_WIN32_WCE)
42 const __wchar_t* cpFile,
44 const __wchar_t* cpExpr,
45 const __wchar_t* cpComment,
46 bool * pbIgnoreThis = 0 );
54 bool * pbIgnoreThis = 0 );
61 const char* cpComment );
63#if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(_WIN32_WCE)
66 const __wchar_t* cpFile,
68 const __wchar_t* cpExpr,
69 const __wchar_t* cpComment );
99#if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(_WIN32_WCE)
100 CFxTrace(
const __wchar_t* pszFileName,
const int iLineNumber );
107#if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(_WIN32_WCE)
108 void operator()(
const __wchar_t *pszFmt, ...)
const;
113 const OdChar* m_pszFileName;
114 const int m_iLineNumber;
123#if (defined(_DEBUG) || defined(QT_DEBUG)) && !defined(ARGON_FULL_DEBUG)
124 #define ARGON_FULL_DEBUG
130#if defined(ARGON_FULL_DEBUG) || defined(ARGON_ENFORCE_ASSERTS)
134 #undef ASSERT_UNREACHABLE
135 #undef ASSERT_UNREACHABLE_MSG
143 #if !defined(_UNICODE)
144 #if !defined(DDKERNEL_BREAK_POINT_DUMMY_ENABLED)
147 static bool bIgnoreThis = false; \
149 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
152 #define ASSERTMSG(x,c) \
154 static bool bIgnoreThis = false; \
156 ArgonAssertFuncA( __FILE__, __LINE__, #x, c, &bIgnoreThis ); \
159 #define ASSERT_ONCE(x) \
161 static bool bIgnoreThis = false; \
162 static bool bWasHere = false; \
163 if ( !bWasHere && !(x) ) \
166 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
170 #define ASSERT_UNREACHABLE() \
172 static bool bIgnoreThis = false; \
173 ArgonAssertFuncA( __FILE__, __LINE__, "unreachable", 0, &bIgnoreThis ); \
176 #define ASSERT_UNREACHABLE_MSG(c) \
178 static bool bIgnoreThis = false; \
179 ArgonAssertFuncA( __FILE__, __LINE__, "unreachable", c, &bIgnoreThis ); \
182 #define FXVERIFY(x) ArgonVerifyFuncA( !!(x), __FILE__, __LINE__, #x, 0 )
184 #define ASSERT_LOG_MESSAGE(msg) ArgonLogToAssertLog(msg, __FILE__, __LINE__)
188 static bool bIgnoreThis = false; \
191 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
194 #define ASSERTMSG(x,c) \
196 static bool bIgnoreThis = false; \
199 ArgonAssertFuncA( __FILE__, __LINE__, #x, c, &bIgnoreThis ); \
202 #define ASSERT_ONCE(x) \
204 static bool bIgnoreThis = false; \
205 static bool bWasHere = false; \
206 if ( !bWasHere && !(x) ) \
209 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
213 #define ASSERT_UNREACHABLE() \
215 static bool bIgnoreThis = false; \
217 ArgonAssertFuncA( __FILE__, __LINE__, "unreachable", 0, &bIgnoreThis ); \
220 #define ASSERT_UNREACHABLE_MSG(c) \
222 static bool bIgnoreThis = false; \
224 ArgonAssertFuncA( __FILE__, __LINE__, "unreachable", c, &bIgnoreThis ); \
227 #define FXVERIFY(x) ArgonVerifyFuncA( !!(x), __FILE__, __LINE__, #x, 0 )
229 #define ASSERT_LOG_MESSAGE(msg) ArgonLogToAssertLog(msg, __FILE__, __LINE__)
232 #if !defined(DDKERNEL_BREAK_POINT_DUMMY_ENABLED)
235 static bool bIgnoreThis = false; \
237 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
240 #define ASSERTMSG(x,c) \
242 static bool bIgnoreThis = false; \
244 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, c, &bIgnoreThis ); \
247 #define ASSERT_ONCE(x) \
249 static bool bIgnoreThis = false; \
250 static bool bWasHere = false; \
251 if ( !bWasHere && !(x) ) \
254 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
258 #define ASSERT_UNREACHABLE() \
260 static bool bIgnoreThis = false; \
261 ArgonAssertFuncW( RR(__FILE__), __LINE__, L"unreachable", 0, &bIgnoreThis ); \
264 #define ASSERT_UNREACHABLE_MSG(c) \
266 static bool bIgnoreThis = false; \
267 ArgonAssertFuncW( RR(__FILE__), __LINE__, L"unreachable", c, &bIgnoreThis ); \
270 #define FXVERIFY(x) ArgonVerifyFuncW( !!(x), RR(__FILE__), __LINE__, L ## #x, 0 )
272 #define ASSERT_LOG_MESSAGE(msg) ArgonLogToAssertLog(msg, RR(__FILE__), __LINE__)
276 static bool bIgnoreThis = false; \
279 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
282 #define ASSERTMSG(x,c) \
284 static bool bIgnoreThis = false; \
287 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, c, &bIgnoreThis ); \
290 #define ASSERT_ONCE(x) \
292 static bool bIgnoreThis = false; \
293 static bool bWasHere = false; \
295 if ( !bWasHere && !(x) ) \
298 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
302 #define ASSERT_UNREACHABLE() \
304 static bool bIgnoreThis = false; \
306 ArgonAssertFuncW( RR(__FILE__), __LINE__, L"unreachable", 0, &bIgnoreThis ); \
309 #define ASSERT_UNREACHABLE_MSG(c) \
311 static bool bIgnoreThis = false; \
313 ArgonAssertFuncW( RR(__FILE__), __LINE__, L"unreachable", c, &bIgnoreThis ); \
316 #define FXVERIFY(x) ArgonVerifyFuncW( !!(x), RR(__FILE__), __LINE__, L ## #x, 0 )
318 #define ASSERT_LOG_MESSAGE(msg) ArgonLogToAssertLog(msg, RR(__FILE__), __LINE__)
322 #define TRACE CFxTrace( RR(__FILE__), __LINE__ )
328 #define ASSERT(x) __noop
330 #define ASSERT_ONCE(x) __noop
331 #define ASSERTMSG(x,c) __noop
332 #define ASSERT_UNREACHABLE() __noop
333 #define ASSERT_UNREACHABLE_MSG(c) __noop
335 #define FXVERIFY(x) (x)
336 #define ASSERT_LOG_MESSAGE(msg) __noop
338 #define ASSERT(x) FxNoop()
339 #define ASSERT_ONCE(x) FxNoop()
340 #define ASSERTMSG(x,c) FxNoop()
341 #define ASSERT_UNREACHABLE() FxNoop()
342 #define ASSERT_UNREACHABLE_MSG(c) FxNoop()
343 #define TRACE(...) FxNoop()
344 #define FXVERIFY(x) (x)
345 #define ASSERT_LOG_MESSAGE(msg) FxNoop()
352#define ASSERT_CIP( expr ) \
355 FxCIPRecordAssertion( __FILE__, __LINE__, #expr ); \
bool DDKERNEL_API IsAllIgnored()
void DDKERNEL_API SetIgnoreAll(bool bIgnore)
void DDKERNEL_API ArgonAssertFuncW(const OdChar *cpFile, const int iLine, const OdChar *cpExpr, const OdChar *cpComment, bool *pbIgnoreThis=0)
void DDKERNEL_API ArgonLogToAssertLog(const char *msg, const char *file, const int line)
bool DDKERNEL_API ArgonVerifyFuncA(bool exp, const char *cpFile, const int iLine, const char *cpExpr, const char *cpComment)
DDKERNEL_API void FxCIPRecordAssertion(const char *cpFile, const int iLine, const char *cpExpr)
bool DDKERNEL_API IsCustomAssertUsed()
void DDKERNEL_API UseCustomAssert(bool bUse)
void DDKERNEL_API ArgonAssertFuncA(const char *cpFile, const int iLine, const char *cpExpr, const char *cpComment, bool *pbIgnoreThis=0)
bool DDKERNEL_API ArgonVerifyFuncW(bool exp, const OdChar *cpFile, const int iLine, const OdChar *cpExpr, const OdChar *cpComment)
void operator()(const char *pszFmt,...) const
void operator()(const OdChar *pszFmt,...) const
CFxTrace(const OdChar *pszFileName, const int iLineNumber)