5 #ifndef PFC_LEAK_STATIC_OBJECTS
6 #define PFC_LEAK_STATIC_OBJECTS 1
9 #if !defined(_WINDOWS) && (defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) || defined(_WIN32_WCE))
14 #define PFC_DLL_EXPORT
22 #ifndef _SYS_GUID_OPERATOR_EQ_
23 #define _NO_SYS_GUID_OPERATOR_EQ_ //fix retarded warning with operator== on GUID returning int
27 #define _WIN32_WINNT 0x500
32 #ifndef _SYS_GUID_OPERATOR_EQ_
36 ((
unsigned long *) &rguid1)[0] == ((
unsigned long *) &rguid2)[0] &&
37 ((
unsigned long *) &rguid1)[1] == ((
unsigned long *) &rguid2)[1] &&
38 ((
unsigned long *) &rguid1)[2] == ((
unsigned long *) &rguid2)[2] &&
39 ((
unsigned long *) &rguid1)[3] == ((
unsigned long *) &rguid2)[3]);
61 return memcmp(&p_item1,&p_item2,
sizeof(
GUID)) == 0;
65 return memcmp(&p_item1,&p_item2,
sizeof(
GUID)) != 0;
72 #define PFC_MEMORY_SPACE_LIMIT ((t_uint64)1<<(sizeof(void*)*8-1))
74 #define PFC_ALLOCA_LIMIT (4096)
76 #define INDEX_INVALID ((unsigned)(-1))
90 #define _PFC_WIDESTRING(_String) L ## _String
91 #define PFC_WIDESTRING(_String) _PFC_WIDESTRING(_String)
93 #if defined(_DEBUG) || defined(DEBUG)
100 #define PFC_ASSERT(_Expression) ((void)0)
101 #define PFC_ASSERT_SUCCESS(_Expression) (void)( (_Expression), 0)
102 #define PFC_ASSERT_NO_EXCEPTION(_Expression) { _Expression; }
106 namespace pfc {
void myassert(
const wchar_t * _Message,
const wchar_t *_File,
unsigned _Line); }
107 #define PFC_ASSERT(_Expression) (void)( (!!(_Expression)) || (pfc::myassert(PFC_WIDESTRING(#_Expression), PFC_WIDESTRING(__FILE__), __LINE__), 0) )
108 #define PFC_ASSERT_SUCCESS(_Expression) PFC_ASSERT(_Expression)
110 #define PFC_ASSERT(_Expression) assert(_Expression)
111 #define PFC_ASSERT_SUCCESS(_Expression) (void)( (_Expression), 0) //FIXME
114 #define PFC_ASSERT_NO_EXCEPTION(_Expression) { try { _Expression; } catch(...) { PFC_ASSERT(!"Should not get here - unexpected exception"); } }
122 #define NOVTABLE _declspec(novtable)
126 #define ASSUME(X) PFC_ASSERT(X)
128 #define ASSUME(X) __assume(X)
131 #define PFC_DEPRECATE(X) __declspec(deprecated(X))
132 #define PFC_NORETURN __declspec(noreturn)
133 #define PFC_NOINLINE __declspec(noinline)
137 #define ASSUME(X) PFC_ASSERT(X)
138 #define PFC_DEPRECATE(X)
139 #define PFC_NORETURN __attribute__ ((noreturn))
202 #define PFC_INCLUDED 1
__inline bool __InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
bool operator==(REFGUID guidOne, REFGUID guidOther)
void myassert(const wchar_t *_Message, const wchar_t *_File, unsigned _Line)
bool operator!=(REFGUID guidOne, REFGUID guidOther)