view lphobos/std/traits.d @ 52:0c77619e803b trunk

[svn r56] Initial support for TypeInfo. Enums not work. Several other bugfixes.
author lindquist
date Tue, 23 Oct 2007 05:55:12 +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; }