Example
template isFibonachi(int a, int b, int c) { enum isFibonachi = a == b + c; } static assert( staticEqual!( StrictExpressionList!(staticFilterLookaheadN!(3, isFibonachi, 9, 5, 3, 2, 1, 1)), StrictExpressionList!(ExpressionList!(5, 3, 2, 1, 1)) ) );
Performs filtering of expression tuple T passing i elements to function or template F. If F returns true the first element go to returned expression tuple and "window" is moved over T by 1 element. Last i-1 elements goes to resulted tuple without checks.