[svn r24] * Added a simple std.traits by downs

This commit is contained in:
Tomas Lindquist Olsen
2007-10-04 04:28:30 +02:00
parent 1cb583cbca
commit 49707be82d

15
lphobos/std/traits.d Normal file
View File

@@ -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; }