NUInt
struct NUInt
namespace System
{
internal struct NUInt
{
private unsafe readonly void* _value;
private unsafe NUInt(uint value)
{
_value = (void*)value;
}
private unsafe NUInt(ulong value)
{
_value = (void*)value;
}
public static implicit operator NUInt(uint value)
{
return new NUInt(value);
}
public unsafe static implicit operator IntPtr(NUInt value)
{
return (IntPtr)value._value;
}
public static explicit operator NUInt(int value)
{
return new NUInt((uint)value);
}
public unsafe static explicit operator void*(NUInt value)
{
return value._value;
}
public unsafe static NUInt operator *(NUInt left, NUInt right)
{
if (sizeof(IntPtr) != 4)
return new NUInt((ulong)((long)left._value * (long)right._value));
return new NUInt((uint)((int)left._value * (int)right._value));
}
}
}