struct HandleHash
{
size_t operator()( const HANDLE& h ) const
{
return size_t(h);
}
bool operator()(HANDLE h1, HANDLE h2) const
{
return DWORD(h1) < DWORD(h2);
}
const static size_t bucket_size = 4;
const static size_t min_buckets = 8;
};
struct Int4
{
Int4() {}
Int4(UINT _x, UINT _y, UINT _z, UINT _w)
{
x = _x;
y = _y;
z = _z;
w = _w;
}
UINT x, y, z, w;
};
#ifdef USE_FUNCTION_DEBUGGER
extern ofstream g_Context->Files.Assert;
struct DebugHelper
{
DebugHelper(const String &_Name)
{
Name = _Name;
g_Context->Files.Assert << "Enter " << Name << endl;
}
~DebugHelper()
{
g_Context->Files.Assert << "Exit " << Name << endl;
}
String Name;
};
#define Debugger(x) DebugHelper D(x)
#else
#define Debugger(x)
#endif