comparison druntime/src/compiler/dmd/typeinfo/ti_delegate.d @ 1458:e0b2d67cfe7c

Added druntime (this should be removed once it works).
author Robert Clipsham <robert@octarineparrot.com>
date Tue, 02 Jun 2009 17:43:06 +0100
parents
children
comparison
equal deleted inserted replaced
1456:7b218ec1044f 1458:e0b2d67cfe7c
1 /**
2 * TypeInfo support code.
3 *
4 * Copyright: Copyright Digital Mars 2004 - 2009.
5 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a>.
6 * Authors: Walter Bright
7 *
8 * Copyright Digital Mars 2004 - 2009.
9 * Distributed under the Boost Software License, Version 1.0.
10 * (See accompanying file LICENSE_1_0.txt or copy at
11 * http://www.boost.org/LICENSE_1_0.txt)
12 */
13 module rt.typeinfo.ti_delegate;
14
15 // delegate
16
17 alias void delegate(int) dg;
18
19 class TypeInfo_D : TypeInfo
20 {
21 override hash_t getHash(in void* p)
22 { long l = *cast(long *)p;
23
24 return cast(uint)(l + (l >> 32));
25 }
26
27 override equals_t equals(in void* p1, in void* p2)
28 {
29 return *cast(dg *)p1 == *cast(dg *)p2;
30 }
31
32 override size_t tsize()
33 {
34 return dg.sizeof;
35 }
36
37 override void swap(void *p1, void *p2)
38 {
39 dg t;
40
41 t = *cast(dg *)p1;
42 *cast(dg *)p1 = *cast(dg *)p2;
43 *cast(dg *)p2 = t;
44 }
45
46 override uint flags()
47 {
48 return 1;
49 }
50 }