1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5// See https://llvm.org/LICENSE.txt for license information. 6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef _LIBCPP_EXPERIMENTAL_ALGORITHM 11#define _LIBCPP_EXPERIMENTAL_ALGORITHM 12 13/* 14 experimental/algorithm synopsis 15 16#include <algorithm> 17 18namespace std { 19namespace experimental { 20inline namespace fundamentals_v1 { 21 22template <class ForwardIterator, class Searcher> 23ForwardIterator search(ForwardIterator first, ForwardIterator last, 24 const Searcher &searcher); 25 26// sample removed because it's now part of C++17 27 28} // namespace fundamentals_v1 29} // namespace experimental 30} // namespace std 31 32*/ 33 34#include <__debug> 35#include <algorithm> 36#include <experimental/__config> 37#include <type_traits> 38 39#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 40# pragma GCC system_header 41#endif 42 43_LIBCPP_BEGIN_NAMESPACE_LFTS 44 45template <class _ForwardIterator, class _Searcher> 46_LIBCPP_INLINE_VISIBILITY 47_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s) 48{ return __s(__f, __l).first; } 49 50_LIBCPP_END_NAMESPACE_LFTS 51 52#endif /* _LIBCPP_EXPERIMENTAL_ALGORITHM */ 53