Change History (7)

The xxx_if versions of algorithms are all redundant due to the filtered Range Adaptor. Please see the Range Adaptor documentation. The best part of the Range Adaptor design, which I believe was first brought up by Eric Niebler is that we can easily compose the filter onto any algorithm. This is a far better separation of concerns than we see in the standard C++ library where we have only the most common use-cases covered by _if suffixed functions. I believe that Thortsen Ottosens' comment that the copy_if algorithm is '... thoroughly mis-designed' is very true. The Range Adaptors are a superior alternative requiring no duplication when writing algorithms, provide superior consistency and readability.

The functions contains, any, all, and none I have frequently wanted and it does make sense for this to be available in Boost.