How can I check if template variable parameter is iterable before handle it?
Boris Carvajal
boris2.9 at gmail.com
Sun Feb 21 12:47:46 UTC 2021
On Sunday, 21 February 2021 at 11:58:11 UTC, Marcone wrote:
> import std;
>
> void foo(T)(T bar){
> static if (bar.isiterable()) // Need Somethin to check if bar
> is iterable.
> {
> // Execute it if bar is iterable.
> foreach (i; bar)
> {
>
> }
> }
> else {
> // Execute it if bar is NOT iterable.
> }
>
> }
>
> void main(){
> foo(1);
> foo([1, 2, 3, 4, 5]);
> }
https://dlang.org/library/std/traits/is_iterable.html
import std.traits : isIterable;
void foo(T)(T bar){
static if (isIterable!T)
{
...
More information about the Digitalmars-d-learn
mailing list