view lphobos/typeinfo1/ti_uint.d @ 361:932229a851a4 trunk

[svn r382] In CastExp, after the cast to CastExp.to force the type to be CastExp.type. This is used for c.im for instance, where the cast is to idouble but type is double.
author ChristianK
date Mon, 14 Jul 2008 19:17:25 +0200
parents 2c3cd3596187
children
line wrap: on
line source


// uint

module typeinfo1.ti_uint;

class TypeInfo_k : TypeInfo
{
    char[] toString() { return "uint"; }

    hash_t getHash(void *p)
    {
	return *cast(uint *)p;
    }

    int equals(void *p1, void *p2)
    {
	return *cast(uint *)p1 == *cast(uint *)p2;
    }

    int compare(void *p1, void *p2)
    {
	if (*cast(uint*) p1 < *cast(uint*) p2)
	    return -1;
	else if (*cast(uint*) p1 > *cast(uint*) p2)
	    return 1;
	return 0;
    }

    size_t tsize()
    {
	return uint.sizeof;
    }

    void swap(void *p1, void *p2)
    {
	int t;

	t = *cast(uint *)p1;
	*cast(uint *)p1 = *cast(uint *)p2;
	*cast(uint *)p2 = t;
    }
}