id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13203,adjacent_filtered lets the first element entry through,Tony Lewis ,Neil Groves,"`adjacent_filtered` always lets the first element of the range leak through, even for a predicate that rejects that element as either argument. Eg. {{{ #!cpp int main() { const std::vector a = { 0, 1, 2, 3, 4, 5 }; auto b = a | boost::adaptors::adjacent_filtered( [] (const int &x, const int &y) { return ( ( x > 2 ) && ( y > 2 ) ); } ); for (const auto &x : b) { std::cerr << x << ""\n""; } } }}} …outputs: {{{ 0 4 5 }}} From what I can see in the code, the predicate is currently only applied in the `increment()` function, which leaves it too late for the first element to be checked. ",Bugs,new,To Be Determined,range,Boost Development Trunk,Problem,,"adjacent_filtered,adaptor,range,predicate,leak",