On Thursday, 30 April 2015 at 21:01:36 UTC, Vlad Levenfeld wrote:
I was wondering if there's a mechanism to make anonymous templates, e.g.

given:
  enum Policy {A, B}
  alias List = TypeTuple!(...);

instead of this:

  enum has_policy_A (T) = T.policy == Policy.A;
  alias Result = Filter!(has_policy_A, List);

use something like this:

  Filter!(T => T.policy == Policy.A, List);

I've tried templates that generate eponymous predicates from mixed-in strings but these have a number of caveats that limit their usability.

The syntax is a bit ugly, but it can be done: http://dpaste.dzfl.pl/d17912ccdeb9

Reply via email to