comparison lphobos/typeinfo1/ti_char.d @ 58:2c3cd3596187 trunk

[svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum Added initial support for CatExp aka 'a ~ b' Fixed global constant static arrays initialized with string literals Fixed casting any dynamic array to void* Fixed new expression with temporary storage Fixed alias declarations in function scope Fixed relational comparisons of pointers
author lindquist
date Thu, 25 Oct 2007 09:02:55 +0200
parents lphobos/typeinfo/ti_char.d@0c77619e803b
children
comparison
equal deleted inserted replaced
57:a9d29e9f1fed 58:2c3cd3596187
1
2 module typeinfo1.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