static inline bool apply(InputIterator first, InputIterator beyond, Predicate const& predicate) { // in case predicate's apply method is static, MSVC will // complain that predicate is not used geofeatures_boost::ignore_unused(predicate); for (InputIterator it = first; it != beyond; ++it) { if (! predicate.apply(*it)) { return false; } } return AllowEmptyRange || first != beyond; }