132
|
1
|
|
2 // long
|
|
3
|
|
4 module typeinfo.ti_long;
|
|
5
|
|
6 class TypeInfo_l : TypeInfo
|
|
7 {
|
|
8 char[] toString() { return "long"; }
|
|
9
|
|
10 hash_t getHash(void *p)
|
|
11 {
|
|
12 return *cast(uint *)p + (cast(uint *)p)[1];
|
|
13 }
|
|
14
|
|
15 int equals(void *p1, void *p2)
|
|
16 {
|
|
17 return *cast(long *)p1 == *cast(long *)p2;
|
|
18 }
|
|
19
|
|
20 int compare(void *p1, void *p2)
|
|
21 {
|
|
22 if (*cast(long *)p1 < *cast(long *)p2)
|
|
23 return -1;
|
|
24 else if (*cast(long *)p1 > *cast(long *)p2)
|
|
25 return 1;
|
|
26 return 0;
|
|
27 }
|
|
28
|
|
29 size_t tsize()
|
|
30 {
|
|
31 return long.sizeof;
|
|
32 }
|
|
33
|
|
34 void swap(void *p1, void *p2)
|
|
35 {
|
|
36 long t;
|
|
37
|
|
38 t = *cast(long *)p1;
|
|
39 *cast(long *)p1 = *cast(long *)p2;
|
|
40 *cast(long *)p2 = t;
|
|
41 }
|
|
42 }
|
|
43
|