The array to search.
The evaluation predicate, which should return true if the element is a valid match and false if not. This predicate may be any callable type.
The index of the first match or haystack.length if no match was found.
auto buffer = createBuffer("bcecg"); test!("==")(findIf(buffer, ( char c ) { return c == 'a'; }), 5);
test!("==")(findIf("bcecg", ( char c ) { return c == 'a'; }), 5);
Performs a linear scan of haystack from [0 .. haystack.length$(RP), returning the index of the first element where pred returns true.