comparison lphobos/std/typeinfo/ti_char.d @ 1:c53b6e3fe49a trunk

[svn r5] Initial commit. Most things are very rough.
author lindquist
date Sat, 01 Sep 2007 21:43:27 +0200
parents
children
comparison
equal deleted inserted replaced
0:a9e71648e74d 1:c53b6e3fe49a
1
2 module std.typeinfo.ti_char;
3
4 class TypeInfo_a : TypeInfo
5 {
6 char[] toString() { return "char"; }
7
8 hash_t getHash(void *p)
9 {
10 return *cast(char *)p;
11 }
12
13 int equals(void *p1, void *p2)
14 {
15 return *cast(char *)p1 == *cast(char *)p2;
16 }
17
18 int compare(void *p1, void *p2)
19 {
20 return *cast(char *)p1 - *cast(char *)p2;
21 }
22
23 size_t tsize()
24 {
25 return char.sizeof;
26 }
27
28 void swap(void *p1, void *p2)
29 {
30 char t;
31
32 t = *cast(char *)p1;
33 *cast(char *)p1 = *cast(char *)p2;
34 *cast(char *)p2 = t;
35 }
36
37 void[] init()
38 { static char c;
39
40 return (cast(char *)&c)[0 .. 1];
41 }
42 }
43