comparison lphobos/typeinfo/ti_ptr.d @ 52:0c77619e803b trunk

[svn r56] Initial support for TypeInfo. Enums not work. Several other bugfixes.
author lindquist
date Tue, 23 Oct 2007 05:55:12 +0200
parents lphobos/std/typeinfo/ti_ptr.d@c53b6e3fe49a
children
comparison
equal deleted inserted replaced
51:61bc1b4ad3c4 52:0c77619e803b
1
2 // pointer
3
4 module typeinfo.ti_ptr;
5
6 class TypeInfo_P : TypeInfo
7 {
8 hash_t getHash(void *p)
9 {
10 return cast(uint)*cast(void* *)p;
11 }
12
13 int equals(void *p1, void *p2)
14 {
15 return *cast(void* *)p1 == *cast(void* *)p2;
16 }
17
18 int compare(void *p1, void *p2)
19 {
20 return *cast(void* *)p1 - *cast(void* *)p2;
21 }
22
23 size_t tsize()
24 {
25 return (void*).sizeof;
26 }
27
28 void swap(void *p1, void *p2)
29 {
30 void* t;
31
32 t = *cast(void* *)p1;
33 *cast(void* *)p1 = *cast(void* *)p2;
34 *cast(void* *)p2 = t;
35 }
36
37 uint flags()
38 {
39 return 1;
40 }
41 }
42