CFx SDK Documentation
2020SP3
|
Go to the documentation of this file.
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 );
87 #if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(_WIN32_WCE)
88 CFxTrace(
const __wchar_t* pszFileName,
const int iLineNumber );
95 #if defined(_MSC_VER) && _MSC_VER >= 1300 && !defined(_WIN32_WCE)
96 void operator()(
const __wchar_t *pszFmt, ...)
const;
101 const OdChar* m_pszFileName;
102 const int m_iLineNumber;
111 #if (defined(_DEBUG) || defined(QT_DEBUG)) && !defined(ARGON_FULL_DEBUG)
112 #define ARGON_FULL_DEBUG
115 #if defined(ARGON_FULL_DEBUG)
120 #undef FXVERIFY //Like ASSERT, but inlined and always returns result of expression.
126 #if !defined(_UNICODE)
128 #if !defined(DDKERNEL_BREAK_POINT_DUMMY_ENABLED)
129 #define ASSERT(x) do{ \
130 static bool bIgnoreThis = false; \
132 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
135 #define ASSERTMSG(x,c) do{ \
136 static bool bIgnoreThis = false; \
138 ArgonAssertFuncA( __FILE__, __LINE__, #x, c, &bIgnoreThis ); \
141 #define ASSERT_ONCE(x) do{ \
142 static bool bIgnoreThis = false; \
143 static bool bWasHere = false; \
144 if (!bWasHere && !(x) ) \
146 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
150 #define FXVERIFY(x) ArgonVerifyFuncA( !!(x), __FILE__, __LINE__, #x, 0 )
152 #define ASSERT(x) do{ \
153 static bool bIgnoreThis = false; \
156 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
159 #define ASSERTMSG(x,c) do{ \
160 static bool bIgnoreThis = false; \
163 ArgonAssertFuncA( __FILE__, __LINE__, #x, c, &bIgnoreThis ); \
166 #define ASSERT_ONCE(x) do{ \
167 static bool bIgnoreThis = false; \
168 static bool bWasHere = false; \
169 if (!bWasHere && !(x) ) \
171 ArgonAssertFuncA( __FILE__, __LINE__, #x, 0, &bIgnoreThis ); \
175 #define FXVERIFY(x) ArgonVerifyFuncA( !!(x), __FILE__, __LINE__, #x, 0 )
179 #if !defined(DDKERNEL_BREAK_POINT_DUMMY_ENABLED)
180 #define ASSERT(x) do{ \
181 static bool bIgnoreThis = false; \
183 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
186 #define ASSERTMSG(x,c) do{ \
187 static bool bIgnoreThis = false; \
189 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, c, &bIgnoreThis ); \
192 #define ASSERT_ONCE(x) do{ \
193 static bool bIgnoreThis = false; \
194 static bool bWasHere = false; \
195 if (!bWasHere && !(x) ) \
197 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
201 #define ASSERTMSG(x,c) do{ \
202 static bool bIgnoreThis = false; \
204 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, c, &bIgnoreThis ); \
207 #define FXVERIFY(x) ArgonVerifyFuncW( !!(x), RR(__FILE__), __LINE__, L ## #x, 0 )
209 #define ASSERT(x) do{ \
210 static bool bIgnoreThis = false; \
213 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
216 #define ASSERTMSG(x,c) do{ \
217 static bool bIgnoreThis = false; \
220 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, c, &bIgnoreThis ); \
223 #define ASSERT_ONCE(x) do{ \
224 static bool bIgnoreThis = false; \
225 static bool bWasHere = false; \
227 if (!bWasHere && !(x) ) \
229 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, 0, &bIgnoreThis ); \
233 #define ASSERTMSG(x,c) do{ \
234 static bool bIgnoreThis = false; \
237 ArgonAssertFuncW( RR(__FILE__), __LINE__, L ## #x, c, &bIgnoreThis ); \
240 #define FXVERIFY(x) ArgonVerifyFuncW( !!(x), RR(__FILE__), __LINE__, L ## #x, 0 )
244 #define TRACE CFxTrace( RR(__FILE__), __LINE__ )
246 #else //ARGON_FULL_DEBUG
250 #define ASSERT(x) __noop
252 #define ASSERT_ONCE(x) __noop
253 #define ASSERTMSG(x,c) __noop
255 #define FXVERIFY(x) (x)
257 #define ASSERT(x) FxNoop()
258 #define ASSERT_ONCE(x) FxNoop()
259 #define ASSERTMSG(x,c) FxNoop()
260 #define TRACE(...) FxNoop()
261 #define FXVERIFY(x) (x)
370 #endif //ARGON_FULL_DEBUG
374 #define ASSERT_CIP( expr ) \
377 FxCIPRecordAssertion( __FILE__, __LINE__, #expr ); \
bool DDKERNEL_API ArgonVerifyFuncA(bool exp, const char *cpFile, const int iLine, const char *cpExpr, const char *cpComment)
bool DDKERNEL_API IsCustomAssertUsed()
void DDKERNEL_API SetIgnoreAll(bool bIgnore)
bool DDKERNEL_API ArgonVerifyFuncW(bool exp, const OdChar *cpFile, const int iLine, const OdChar *cpExpr, const OdChar *cpComment)
void DDKERNEL_API UseCustomAssert(bool bUse)
CFxTrace(const OdChar *pszFileName, const int iLineNumber)
void operator()(const char *pszFmt,...) const
void operator()(const OdChar *pszFmt,...) const
void DDKERNEL_API ArgonAssertFuncW(const OdChar *cpFile, const int iLine, const OdChar *cpExpr, const OdChar *cpComment, bool *pbIgnoreThis=0)
DDKERNEL_API void FxCIPRecordAssertion(const char *cpFile, const int iLine, const char *cpExpr)
void DDKERNEL_API ArgonAssertFuncA(const char *cpFile, const int iLine, const char *cpExpr, const char *cpComment, bool *pbIgnoreThis=0)
bool DDKERNEL_API IsAllIgnored()