/runtime/typeinfo/ti_ulong.d
http://github.com/wilkie/djehuty · D · 45 lines · 30 code · 9 blank · 6 comment · 4 complexity · c3e73bfa16a81a0c2b87921b4c3d3961 MD5 · raw file
- /*
- * ti_ulong.d
- *
- * This module implements the TypeInfo for the ulong type.
- *
- */
- module runtime.typeinfo.ti_ulong;
- class TypeInfo_m : TypeInfo {
- char[] toString() {
- return "ulong";
- }
- hash_t getHash(void *p) {
- return *cast(uint *)p + (cast(uint *)p)[1];
- }
- int equals(void *p1, void *p2) {
- return *cast(ulong *)p1 == *cast(ulong *)p2;
- }
- int compare(void *p1, void *p2) {
- if (*cast(ulong *)p1 < *cast(ulong *)p2) {
- return -1;
- }
- else if (*cast(ulong *)p1 > *cast(ulong *)p2) {
- return 1;
- }
- return 0;
- }
- size_t tsize() {
- return ulong.sizeof;
- }
- void swap(void *p1, void *p2) {
- ulong t;
- t = *cast(ulong *)p1;
- *cast(ulong *)p1 = *cast(ulong *)p2;
- *cast(ulong *)p2 = t;
- }
- }