Re: How can I check to see if template type is an array?
On Tuesday, 19 January 2021 at 22:45:19 UTC, Paul Backus wrote: On Tuesday, 19 January 2021 at 22:38:41 UTC, Tim wrote: On Tuesday, 19 January 2021 at 22:36:47 UTC, Paul Backus wrote: On Tuesday, 19 January 2021 at 22:34:04 UTC, Tim wrote: On Tuesday, 19 January 2021 at 22:31:47 UTC, Paul Backus wrote: You've almost got it. The correct syntax is `is(T == U[], U)`. You can read it as "there exists some type U such that T == U[]". Thanks! Do I need to specify U in the template function? No, only inside the is(...) expression. What if it is a static array i.e. double[3]? is(T == U[n], U, size_t n) Easy, thanks a lot!
Re: How can I check to see if template type is an array?
On Tuesday, 19 January 2021 at 22:38:41 UTC, Tim wrote: On Tuesday, 19 January 2021 at 22:36:47 UTC, Paul Backus wrote: On Tuesday, 19 January 2021 at 22:34:04 UTC, Tim wrote: On Tuesday, 19 January 2021 at 22:31:47 UTC, Paul Backus wrote: You've almost got it. The correct syntax is `is(T == U[], U)`. You can read it as "there exists some type U such that T == U[]". Thanks! Do I need to specify U in the template function? No, only inside the is(...) expression. What if it is a static array i.e. double[3]? is(T == U[n], U, size_t n)
Re: How can I check to see if template type is an array?
On Tuesday, 19 January 2021 at 22:34:04 UTC, Tim wrote: On Tuesday, 19 January 2021 at 22:31:47 UTC, Paul Backus wrote: You've almost got it. The correct syntax is `is(T == U[], U)`. You can read it as "there exists some type U such that T == U[]". Thanks! Do I need to specify U in the template function? No, only inside the is(...) expression.
Re: How can I check to see if template type is an array?
On Tuesday, 19 January 2021 at 22:36:47 UTC, Paul Backus wrote: On Tuesday, 19 January 2021 at 22:34:04 UTC, Tim wrote: On Tuesday, 19 January 2021 at 22:31:47 UTC, Paul Backus wrote: You've almost got it. The correct syntax is `is(T == U[], U)`. You can read it as "there exists some type U such that T == U[]". Thanks! Do I need to specify U in the template function? No, only inside the is(...) expression. What if it is a static array i.e. double[3]?
Re: How can I check to see if template type is an array?
On Tuesday, 19 January 2021 at 22:31:47 UTC, Paul Backus wrote: You've almost got it. The correct syntax is `is(T == U[], U)`. You can read it as "there exists some type U such that T == U[]". Thanks! Do I need to specify U in the template function?
Re: How can I check to see if template type is an array?
On Tuesday, 19 January 2021 at 22:26:52 UTC, Tim wrote: Hi all, I need to be able to check in a template whether the type given is an array type so that I can do some different logic. How can I do this? I would have thought that if(is(T == [])) would work, but no. Thanks in advance You've almost got it. The correct syntax is `is(T == U[], U)`. You can read it as "there exists some type U such that T == U[]".
Re: How can I check to see if template type is an array?
On Tuesday, 19 January 2021 at 22:26:52 UTC, Tim wrote: I need to be able to check in a template whether the type given is an array type so that I can do some different logic. How can I do this? `if(is(T == E[], E))` or `isDynamicArray!T` is you `import std.traits;`
How can I check to see if template type is an array?
Hi all, I need to be able to check in a template whether the type given is an array type so that I can do some different logic. How can I do this? I would have thought that if(is(T == [])) would work, but no. Thanks in advance