【发布时间】:2011-05-12 14:54:16
【问题描述】:
是否有一个 STL/boost 算法可以测试两个迭代器之间的所有元素是否与给定值匹配?或者,谓词为所有这些都返回true?
即像
template<class InputIterator, class T>
InputIterator all_match (InputIterator first, InputIterator last, const T& value)
{
bool allMatch = true;
while(allMatch && first!=last)
allMatch = (value == *first++);
return allMatch;
}
或者
template <class InputIterator, class Predicate>
bool all_true (InputIterator first, InputIterator last, Predicate pred)
{
bool allTrue = true;
while (allTrue && first != last)
allTrue = pred(*first++);
return allTrue;
}
【问题讨论】: