view lphobos/std/traits.d @ 73:b706170e24a9 trunk

[svn r77] Fixed foreach on slice. Fixed some nested function problems when accessing outer function parameters. Major changes to handling of structs. Initial support for unions. Probably more...
author lindquist
date Wed, 31 Oct 2007 03:11:32 +0100
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; }