comparison dstep/objc/bridge/Type.d @ 1:033d260cfc9b

First upload of the bridge
author Jacob Carlborg <doob@me.com>
date Thu, 18 Jun 2009 22:00:13 +0200
parents
children 9fd439a28ce3
comparison
equal deleted inserted replaced
0:c7db221de6e8 1:033d260cfc9b
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: May 16, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.objc.bridge.Type;
8
9 version (Tango)
10 import tango.core.Tuple;
11
12 else
13 import std.typetuple;
14
15 import dstep.objc.objc;
16
17 template ObjcTypeTuple (TList...)
18 {
19 alias replaceClasses!(TList).types ObjcTypeTuple;
20 }
21
22 private struct Wrap (TList...)
23 {
24 TList types;
25 }
26
27 private Wrap!(TList) replaceClasses (TList...) ()
28 {
29 alias Tuple!(TList) Types;
30
31 foreach (ref type ; Types)
32 static if (is(type == class))
33 type = id;
34
35 return Wrap!(Types);
36 }