id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13202,adjacent_filtered postcondition docs differ from behaviour,Tony Lewis ,Neil Groves,"I think the documentation for `adjacent_filtered`'s postcondition, ie: > For all adjacent elements `[x,y]` in the returned range, `bi_pred(x,y)` is `true`. …isn't quite right. For example, this: {{{ #!cpp #include #include #include int main() { const std::vector a = { 0, 1, 2, 3, 4, 5, 6 }; const auto b = a | boost::adaptors::adjacent_filtered( [] (const int &x, const int &y) { return ( y % 2 == 1 ) && ( y == x + 1 ); } ); for (const auto &x : b) { std::cerr << x << ""\n""; } } }}} …outputs: {{{ 0 1 3 5 }}} Yet two of the pairs of adjacent elements `[x,y]` in this range fail `bi_pred(x,y)` (because they differ by 2, not 1). I think it's more like: `bi_pred` is true on each element in the returned range preceded by the element that preceded it in the //original// range (not in the //returned// range).",Bugs,new,To Be Determined,range,Boost Development Trunk,Optimization,,"range,adjacent_filtered,documentation,postcondition,predicate,adaptor",