view lphobos/std/traits.d @ 65:d4a678905d5e trunk

[svn r69] forgot std.stdarg
author lindquist
date Fri, 26 Oct 2007 15:14:51 +0200
parents 42bf2eb2973b
children 61615fa85940
line wrap: on
line source

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