static foreach considered
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Mon Jun 8 14:14:44 PDT 2015
On Monday, 8 June 2015 at 20:16:53 UTC, Idan Arye wrote:
> On Monday, 8 June 2015 at 20:02:11 UTC, Andrei Alexandrescu
> wrote:
>> Walter and I are looking at ways to implement it. Here's a
>> baseline without static foreach - a "trace" function that
>> prints function calls before they are made:
>>
>> http://dpaste.dzfl.pl/762c83c7fe30
>>
>> If the function is overloaded, that won't work. In such cases,
>> static foreach might be helpful. Here's code from the cycle "I
>> have a dream":
>>
>> http://dpaste.dzfl.pl/82a70c809210
>>
>> I'm trying to collect together motivating examples and to
>> figure out the semantics of the feature.
>>
>>
>> Andrei
>
> How will scoping work? Similar to mixin templates?
>
> It would be nice together with this feature to be able to mixin
> identifiers:
>
> static foreach (ident; ["foo", "bar"])
> {
> auto mixin(ident)()
> {
> // code for foo/bar
> }
> }
>
> Otherwise, other than overloads and template instantiations
> this won't be much better then generating code strings with
> CTFE...
I would assume that it would be pretty much the same as doing
foreach(T; TypeTuple!(...))
{
...
}
except that you're not forced to shove everything in a TypeTuple.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list