Mercurial > projects > ldc
view lphobos/std/traits.d @ 55:0ccfae271c45 trunk
[svn r59] Added support for C-style variadic functions. Currently only works on x86, x86-64 va_arg is broken in LLVM 2.1. PPC and PPC64 unknown.
Updates to runtime. Rebuild!
author | lindquist |
---|---|
date | Wed, 24 Oct 2007 22:18:06 +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; }