On Saturday, 24 October 2015 at 17:06:13 UTC, Dandyvica wrote:
On Saturday, 24 October 2015 at 16:58:58 UTC, qsdfghjk wrote:
On Saturday, 24 October 2015 at 15:57:09 UTC, Dandyvica wrote:
Hi guys,

Apart from deriving from the same class and declaring an array of that
root class, is there a way to create an array of templates?

This seems not possible since template are compile-time generated, but just to be sure. For example, it seems logical to get an array of complex numbers but Complex needs to be declared with a type.

Thanks for any hint.

You can declare an array whose the element type matches to one of the template parameter:

---
struct Foo(T)
{
    Foo!T[] foos;
    // typeof(this)[] foos // equivalent
}
---

since it's an array (fixed size whatever is the element type: size_t len + size_t pointer) it doesn't matter if the template declaration is partial.

In that case, all elements have the same type right? I'd like different types,
but with the same template.

Then no, it's not possible, although some ugly workaround may allow the thing (array of pointer and something used to cast the pointer at runtime, like an AliasSeq). But by definition if you have serveral type in an aray it's not array...it's an agregate.

Reply via email to