- for (vector<const MatchFunctor*>::const_iterator mf = m_functors.begin(); mf!=m_functors.end(); ++mf)
- if ((*mf)->evaluatePermitValue(filterContext, attribute, index))
- return true;
- return false;
+ vector<const MatchFunctor*>::const_iterator i = find_if(
+ m_functors.begin(), m_functors.end(),
+ boost::bind(&MatchFunctor::evaluatePermitValue, _1, boost::cref(filterContext), boost::cref(attribute), index) == true
+ );
+ return (i != m_functors.end());