Mercurial > projects > dstress
changeset 1484:5100b74e1aa3
[Issue 938] struct with Tuple
Daniel <Daniel919@web.de>
2007-02-07
http://d.puremagic.com/issues/show_bug.cgi?id=938
author | thomask |
---|---|
date | Fri, 06 Apr 2007 11:28:23 +0000 |
parents | 62ef6d1867cf |
children | 774e02c900da |
files | compile/t/tuple_21_A.d compile/t/tuple_21_B.d |
diffstat | 2 files changed, 44 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/t/tuple_21_A.d Fri Apr 06 11:28:23 2007 +0000 @@ -0,0 +1,24 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Daniel <Daniel919@web.de> +// @date@ 2007-02-07 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=938 +// @desc@ [Issue 938] struct with Tuple + +module dstress.compile.t.tuple_21_A; + +struct Tuple(A...) { + alias A Tuple; +} + +template removeSpace(char[] s, int x = 0) { + static if (s[0] == ' '){ + alias removeSpace!(s[1..$], x+1) removeSpace; + }else{ + alias Tuple!(s, x) removeSpace; + } +} + +static assert("Hello you !" == removeSpace!(" Hello you !").Tuple[0]);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile/t/tuple_21_B.d Fri Apr 06 11:28:23 2007 +0000 @@ -0,0 +1,20 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Daniel <Daniel919@web.de> +// @date@ 2007-02-07 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=938 +// @desc@ [Issue 938] struct with Tuple + +module dstress.compile.t.tuple_21_B; + +template removeSpace(char[] s, int x = 0) { + static if (s[0] == ' '){ + alias removeSpace!(s[1..$], x+1) removeSpace; + }else{ + alias s removeSpace; + } +} + +static assert("Hello you !" == removeSpace!(" Hello you !"));