comparison lphobos/typeinfo/ti_ubyte.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_ubyte.d@c53b6e3fe49a
children
comparison
equal deleted inserted replaced
51:61bc1b4ad3c4 52:0c77619e803b
1
2 // ubyte
3
4 module typeinfo.ti_ubyte;
5
6 class TypeInfo_h : TypeInfo
7 {
8 char[] toString() { return "ubyte"; }
9
10 hash_t getHash(void *p)
11 {
12 return *cast(ubyte *)p;
13 }
14
15 int equals(void *p1, void *p2)
16 {
17 return *cast(ubyte *)p1 == *cast(ubyte *)p2;
18 }
19
20 int compare(void *p1, void *p2)
21 {
22 return *cast(ubyte *)p1 - *cast(ubyte *)p2;
23 }
24
25 size_t tsize()
26 {
27 return ubyte.sizeof;
28 }
29
30 void swap(void *p1, void *p2)
31 {
32 ubyte t;
33
34 t = *cast(ubyte *)p1;
35 *cast(ubyte *)p1 = *cast(ubyte *)p2;
36 *cast(ubyte *)p2 = t;
37 }
38 }
39
40 class TypeInfo_b : TypeInfo_h
41 {
42 char[] toString() { return "bool"; }
43 }