comparison druntime/src/compiler/dmd/typeinfo/ti_ptr.d @ 759:d3eb054172f9

Added copy of druntime from DMD 2.020 modified for LDC.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 11 Nov 2008 01:52:37 +0100
parents
children
comparison
equal deleted inserted replaced
758:f04dde6e882c 759:d3eb054172f9
1
2 // pointer
3
4 module rt.typeinfo.ti_ptr;
5
6 class TypeInfo_P : TypeInfo
7 {
8 override hash_t getHash(in void* p)
9 {
10 return cast(uint)*cast(void* *)p;
11 }
12
13 override equals_t equals(in void* p1, in void* p2)
14 {
15 return *cast(void* *)p1 == *cast(void* *)p2;
16 }
17
18 override int compare(in void* p1, in void* p2)
19 {
20 auto c = *cast(void* *)p1 - *cast(void* *)p2;
21 if (c < 0)
22 return -1;
23 else if (c > 0)
24 return 1;
25 return 0;
26 }
27
28 override size_t tsize()
29 {
30 return (void*).sizeof;
31 }
32
33 override void swap(void *p1, void *p2)
34 {
35 void* t;
36
37 t = *cast(void* *)p1;
38 *cast(void* *)p1 = *cast(void* *)p2;
39 *cast(void* *)p2 = t;
40 }
41
42 override uint flags()
43 {
44 return 1;
45 }
46 }