From 49707be82d2e8c056f1d8b032e1b85191b521f6c Mon Sep 17 00:00:00 2001 From: Tomas Lindquist Olsen Date: Thu, 4 Oct 2007 04:28:30 +0200 Subject: [PATCH] [svn r24] * Added a simple std.traits by downs --- lphobos/std/traits.d | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lphobos/std/traits.d diff --git a/lphobos/std/traits.d b/lphobos/std/traits.d new file mode 100644 index 00000000..a5100862 --- /dev/null +++ b/lphobos/std/traits.d @@ -0,0 +1,15 @@ +module std.traits; +struct TypeHolder(S, T...) { + S _ReturnType; + T _ParameterTypeTuple; +} +TypeHolder!(S, T) *IFTI_gen(S, T...)(S delegate(T) dg) { return null; } +TypeHolder!(S, T) *IFTI_gen(S, T...)(S function(T) dg) { return null; } +template ParameterTypeTuple(T) { + alias typeof(IFTI_gen(T.init)._ParameterTypeTuple) ParameterTypeTuple; +} +template ReturnType(T) { + alias typeof(IFTI_gen(T.init)._ReturnType) ReturnType; +} +template isArray(T) { const bool isArray=false; } +template isArray(T: T[]) { const bool isArray=true; }