Re: [D1] type of type
On Wed, 29 Dec 2010 19:25:05 -0500, %u e...@ee.com wrote: Is it not possible to have a type type? In compile time, you can have type parameters with ease using templates. During runtime, you can use the TypeInfo object, which is accessed via typeid: auto ti = typeid(int); // ti is TypeInfo type See docs for TypeInfo in object.di Now, the only issue with TypeInfo is that D runtime reflection is woefully supported. You can't do much with a TypeInfo. So again, what is it you want to do with the type type? -Steve
Re: [D1] type of type
== Quote from Steven Schveighoffer (schvei...@yahoo.com)'s article On Thu, 23 Dec 2010 17:28:49 -0500, %u e...@ee.com wrote: Should have been this: void func(type t){ new t(); } void func(T)(){ new T(); } When you are passing types into functions, use templates. -Steve The reason I asked for a non-templated solution is because they don't have a common interface signature.
Re: [D1] type of type
On Wed, 29 Dec 2010 10:33:21 -0500, %u e...@ee.com wrote: == Quote from Steven Schveighoffer (schvei...@yahoo.com)'s article On Thu, 23 Dec 2010 17:28:49 -0500, %u e...@ee.com wrote: Should have been this: void func(type t){ new t(); } void func(T)(){ new T(); } When you are passing types into functions, use templates. -Steve The reason I asked for a non-templated solution is because they don't have a common interface signature. I don't know what you mean. Templated solution does not require a common interface. This works with any type: void func(T)(){ T t; } Maybe you can post an example of what you are trying to solve? -Steve
Re: [D1] type of type
== Quote from Steven Schveighoffer (schvei...@yahoo.com)'s article On Wed, 29 Dec 2010 10:33:21 -0500, %u e...@ee.com wrote: == Quote from Steven Schveighoffer (schvei...@yahoo.com)'s article On Thu, 23 Dec 2010 17:28:49 -0500, %u e...@ee.com wrote: Should have been this: void func(type t){ new t(); } void func(T)(){ new T(); } When you are passing types into functions, use templates. -Steve The reason I asked for a non-templated solution is because they don't have a common interface signature. I don't know what you mean. Templated solution does not require a common interface. This works with any type: void func(T)(){ T t; } Maybe you can post an example of what you are trying to solve? -Steve Yeah, sorry, I meant it the other way around: I need a common interface. class C1: I .. class C9: I I'd like to pass any C(a) type to any C(b) object such that C(b) can spawn a C(a). What would be the common signature of these two functions? And how would the object save the type?
Re: [D1] type of type
Is it not possible to have a type type?
Re: [D1] type of type
On Thu, 23 Dec 2010 17:28:49 -0500, %u e...@ee.com wrote: Should have been this: void func(type t){ new t(); } void func(T)(){ new T(); } When you are passing types into functions, use templates. -Steve
Re: [D1] type of type
%u: Hiding in Object.. interesting :) But this has strong limitations. For this problem templates are usually used. Bye, bearophile
Re: [D1] type of type
Should have been this: void func(type t){ new t(); }