1. 函数声明
template <class InputIterator, class UnaryPredicate>
bool none_of (InputIterator first, InputIterator last, UnaryPredicate pred);
2. 等价操作实现
template<class InputIterator, class UnaryPredicate>
bool none_of (InputIterator first, InputIterator last, UnaryPredicate pred)
{
while (first!=last) {
if (pred(*first)) return false;
++first;
}
return true;
}
3. 示例程式
#include <iostream> // std::cout
#include <algorithm> // std::none_of
#include <array> // std::array
using namespace std;
namespace none_of {
void test_none_of() {
// none_of example
std::array<int,8> foo = {1,2,4,8,16,32,64,128};
if ( std::none_of(foo.begin(), foo.end(), [](int i){return i<0;}) )
cout << "There are no negative elements in the range.\n";
}
}