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