On Monday, 21 May 2018 at 00:13:26 UTC, Ethan wrote:
But the functions, they're a bit trickier. So I made a new
trait in Binderoo's traits module called ExtractTupleOf. The
template prototype is the following:
template ExtractTupleOf( alias TestTemplate, Symbols... )
That first parameter is the interesting one. It's essentially
an uninstantiated template that doubles as a lambda. The
template is expected to be an eponymous template aliasing to a
boolean value, and take one parameter (although, theoretically,
a CTFE bool function(T)() would also work). ExtractTupleOf will
static foreach over each symbol in Symbols, and static if(
TestTemplate!Symbol ) each one. If it returns true, then that
symbol is extracted and put in a new tuple.
Am I missing something, or is this the same thing as `std.meta:
Filter`?