146035553Spatrick// -*- C++ -*- 2*4bdff4beSrobert//===----------------------------------------------------------------------===// 346035553Spatrick// 446035553Spatrick// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 546035553Spatrick// See https://llvm.org/LICENSE.txt for license information. 646035553Spatrick// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 746035553Spatrick// 846035553Spatrick//===----------------------------------------------------------------------===// 946035553Spatrick 1046035553Spatrick#ifndef _LIBCPP_EXPERIMENTAL_ALGORITHM 1146035553Spatrick#define _LIBCPP_EXPERIMENTAL_ALGORITHM 1246035553Spatrick 1346035553Spatrick/* 1446035553Spatrick experimental/algorithm synopsis 1546035553Spatrick 1646035553Spatrick#include <algorithm> 1746035553Spatrick 1846035553Spatricknamespace std { 1946035553Spatricknamespace experimental { 2046035553Spatrickinline namespace fundamentals_v1 { 2146035553Spatrick 2246035553Spatricktemplate <class ForwardIterator, class Searcher> 2346035553SpatrickForwardIterator search(ForwardIterator first, ForwardIterator last, 2446035553Spatrick const Searcher &searcher); 2546035553Spatrick 2646035553Spatrick// sample removed because it's now part of C++17 2746035553Spatrick 2846035553Spatrick} // namespace fundamentals_v1 2946035553Spatrick} // namespace experimental 3046035553Spatrick} // namespace std 3146035553Spatrick 3246035553Spatrick*/ 3346035553Spatrick 34*4bdff4beSrobert#include <__assert> // all public C++ headers provide the assertion handler 3546035553Spatrick#include <__debug> 36*4bdff4beSrobert#include <algorithm> 37*4bdff4beSrobert#include <experimental/__config> 38*4bdff4beSrobert#include <type_traits> 3946035553Spatrick 4046035553Spatrick#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 4146035553Spatrick# pragma GCC system_header 4246035553Spatrick#endif 4346035553Spatrick 4446035553Spatrick_LIBCPP_BEGIN_NAMESPACE_LFTS 4546035553Spatrick 4646035553Spatricktemplate <class _ForwardIterator, class _Searcher> 4746035553Spatrick_LIBCPP_INLINE_VISIBILITY 4846035553Spatrick_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s) 4946035553Spatrick{ return __s(__f, __l).first; } 5046035553Spatrick 5146035553Spatrick_LIBCPP_END_NAMESPACE_LFTS 5246035553Spatrick 5346035553Spatrick#endif /* _LIBCPP_EXPERIMENTAL_ALGORITHM */ 54