annotate lphobos/typeinfo2/ti_Ag.d @ 883:b52d5de7783f

GC defines and linkage changes.
author Christian Kamm <kamm incasoftware de>
date Thu, 08 Jan 2009 18:20:02 +0100
parents 362825278842
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
59
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
1 module typeinfo2.ti_Ag;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
2
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
3 private int string_cmp(char[] s1, char[] s2)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
4 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
5 auto len = s1.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
6 if (s2.length < len)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
7 len = s2.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
8 int result = memcmp(s1.ptr, s2.ptr, len);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
9 if (result == 0)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
10 result = cast(int)(cast(ptrdiff_t)s1.length - cast(ptrdiff_t)s2.length);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
11 return result;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
12 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
13
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
14 extern(C) int memcmp(void*,void*,size_t);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
15
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
16 // byte[]
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
17
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
18 class TypeInfo_Ag : TypeInfo
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
19 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
20 char[] toString() { return "byte[]"; }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
21
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
22 hash_t getHash(void *p)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
23 { byte[] s = *cast(byte[]*)p;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
24 size_t len = s.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
25 byte *str = s.ptr;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
26 hash_t hash = 0;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
27
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
28 while (1)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
29 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
30 switch (len)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
31 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
32 case 0:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
33 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
34
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
35 case 1:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
36 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
37 hash += *cast(ubyte *)str;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
38 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
39
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
40 case 2:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
41 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
42 hash += *cast(ushort *)str;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
43 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
44
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
45 case 3:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
46 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
47 hash += (*cast(ushort *)str << 8) +
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
48 (cast(ubyte *)str)[2];
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
49 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
50
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
51 default:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
52 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
53 hash += *cast(uint *)str;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
54 str += 4;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
55 len -= 4;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
56 break;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
57 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
58 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
59
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
60 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
61 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
62
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
63 int equals(void *p1, void *p2)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
64 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
65 byte[] s1 = *cast(byte[]*)p1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
66 byte[] s2 = *cast(byte[]*)p2;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
67
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
68 return s1.length == s2.length &&
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
69 memcmp(cast(byte *)s1, cast(byte *)s2, s1.length) == 0;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
70 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
71
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
72 int compare(void *p1, void *p2)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
73 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
74 byte[] s1 = *cast(byte[]*)p1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
75 byte[] s2 = *cast(byte[]*)p2;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
76 size_t len = s1.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
77
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
78 if (s2.length < len)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
79 len = s2.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
80 for (size_t u = 0; u < len; u++)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
81 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
82 int result = s1[u] - s2[u];
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
83 if (result)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
84 return result;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
85 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
86 return cast(int)s1.length - cast(int)s2.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
87 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
88
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
89 size_t tsize()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
90 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
91 return (byte[]).sizeof;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
92 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
93
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
94 uint flags()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
95 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
96 return 1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
97 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
98
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
99 TypeInfo next()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
100 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
101 return typeid(byte);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
102 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
103 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
104
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
105
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
106 // ubyte[]
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
107
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
108 class TypeInfo_Ah : TypeInfo_Ag
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
109 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
110 char[] toString() { return "ubyte[]"; }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
111
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
112 int compare(void *p1, void *p2)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
113 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
114 char[] s1 = *cast(char[]*)p1;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
115 char[] s2 = *cast(char[]*)p2;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
116
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
117 return string_cmp(s1, s2);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
118 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
119
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
120 TypeInfo next()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
121 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
122 return typeid(ubyte);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
123 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
124 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
125
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
126 // void[]
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
127
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
128 class TypeInfo_Av : TypeInfo_Ah
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
129 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
130 char[] toString() { return "void[]"; }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
131
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
132 TypeInfo next()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
133 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
134 return typeid(void);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
135 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
136 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
137
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
138 // bool[]
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
139
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
140 class TypeInfo_Ab : TypeInfo_Ah
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
141 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
142 char[] toString() { return "bool[]"; }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
143
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
144 TypeInfo next()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
145 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
146 return typeid(bool);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
147 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
148 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
149
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
150 // char[]
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
151
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
152 class TypeInfo_Aa : TypeInfo_Ag
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
153 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
154 char[] toString() { return "char[]"; }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
155
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
156 hash_t getHash(void *p)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
157 { char[] s = *cast(char[]*)p;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
158 hash_t hash = 0;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
159
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
160 version (all)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
161 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
162 foreach (char c; s)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
163 hash = hash * 11 + c;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
164 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
165 else
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
166 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
167 size_t len = s.length;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
168 char *str = s;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
169
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
170 while (1)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
171 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
172 switch (len)
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
173 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
174 case 0:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
175 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
176
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
177 case 1:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
178 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
179 hash += *cast(ubyte *)str;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
180 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
181
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
182 case 2:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
183 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
184 hash += *cast(ushort *)str;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
185 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
186
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
187 case 3:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
188 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
189 hash += (*cast(ushort *)str << 8) +
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
190 (cast(ubyte *)str)[2];
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
191 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
192
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
193 default:
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
194 hash *= 9;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
195 hash += *cast(uint *)str;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
196 str += 4;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
197 len -= 4;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
198 break;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
199 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
200 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
201 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
202 return hash;
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
203 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
204
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
205 TypeInfo next()
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
206 {
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
207 return typeid(char);
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
208 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
209 }
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
210
362825278842 [svn r63] Forgot lphobos/typeinfo2
lindquist
parents:
diff changeset
211