Mercurial > projects > dstress
diff addon/template_10_meta.d @ 223:9603ea1557fc
template specialization bug
Aleksey Bobnev <uw@front.ru>
2004-12-27
news:cqp4fk$1dcj$1@digitaldaemon.com
nntp://digitalmars.com/digitalmars.D.bugs/2613
author | thomask |
---|---|
date | Sat, 01 Jan 2005 04:47:14 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/addon/template_10_meta.d Sat Jan 01 04:47:14 2005 +0000 @@ -0,0 +1,47 @@ +/* + Thor - D Metaprogramming Library + version zero + (c) 2004-2005 Aleksey Bobnev + + Public Domain + + Thanks go to: + Andrei Alexandrescu - for admirable book "Modern C++ Design" and Loki library + Andy Friesen - for apropos library, which actually pioneered meta-programming in D +*/ +/+module Thor.meta;+/ +module addon.template_10_meta; + +class NullT +{ +} + +template Equal(T0,T1) +{ + const bool Equal = false; +} + +template Equal(T0,T1 : T0) +{ + const bool Equal = true; +} + +template SelectType(bool c, T0,T1) +{ + alias T0 SelectType; +} + +template SelectType(bool c : false, T0,T1) +{ + alias T1 SelectType; +} + +template SelectAlias(bool c, alias T0,alias T1) +{ + alias T0 SelectAlias; +} + +template SelectAlias(bool c : false, alias T0, alias T1) +{ + alias T1 SelectAlias; +} \ No newline at end of file