__gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val));
}
-#if __cplusplus > 201402L
+#if __cplusplus >= 201703L
/** @brief Search a sequence using a Searcher object.
*
* @param __first A forward iterator.
std::__iterator_category(__begin2));
}
+#if __cplusplus >= 201703L
+ /** @brief Search a sequence using a Searcher object.
+ *
+ * @param __first A forward iterator.
+ * @param __last A forward iterator.
+ * @param __searcher A callable object.
+ * @return @p __searcher(__first,__last).first
+ */
+ template<typename _ForwardIterator, typename _Searcher>
+ inline _ForwardIterator
+ search(_ForwardIterator __first, _ForwardIterator __last,
+ const _Searcher& __searcher)
+ { return __searcher(__first, __last).first; }
+#endif
+
// Sequential fallback
template<typename _FIterator, typename _Integer, typename _Tp>
inline _FIterator