]> git.llucax.com Git - software/druntime.git/blob - src/compiler/dmd/typeinfo/ti_char.d
60e49e202cd75902bc42845b1e97b66d0105ebbf
[software/druntime.git] / src / compiler / dmd / typeinfo / ti_char.d
1
2 module rt.typeinfo.ti_char;
3
4 class TypeInfo_a : TypeInfo
5 {
6     string toString() { return "char"; }
7
8     hash_t getHash(in void* p)
9     {
10         return *cast(char *)p;
11     }
12
13     equals_t equals(in void* p1, in void* p2)
14     {
15         return *cast(char *)p1 == *cast(char *)p2;
16     }
17
18     int compare(in void* p1, in 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 }