Using return type of a predicate function as a template

Edwin van Leeuwen via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Oct 16 01:36:50 PDT 2014


On Thursday, 16 October 2014 at 08:18:02 UTC, Atila Neves wrote:
> This works:
>
> import std.range;
>
> auto groupBy(alias func, R)(R values)
>     if (isInputRange!R)
> {
>
>     alias K = typeof(func(values.front));
>     alias V = ElementType!R[];
>     V[K] grouped;
>     foreach(value; values) grouped[func(value)] ~= value;
>     return grouped;
> }
>

Thank you, that is surprisingly straightforward :)

Edwin


More information about the Digitalmars-d-learn mailing list