1732e2681SEvgeniy Stepanov// -*- C++ -*- 2eb8650a7SLouis Dionne//===----------------------------------------------------------------------===// 3732e2681SEvgeniy Stepanov// 457b08b09SChandler Carruth// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 557b08b09SChandler Carruth// See https://llvm.org/LICENSE.txt for license information. 657b08b09SChandler Carruth// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7732e2681SEvgeniy Stepanov// 8732e2681SEvgeniy Stepanov//===----------------------------------------------------------------------===// 9732e2681SEvgeniy Stepanov 10732e2681SEvgeniy Stepanov#ifndef _LIBCPP_EXPERIMENTAL_ALGORITHM 11732e2681SEvgeniy Stepanov#define _LIBCPP_EXPERIMENTAL_ALGORITHM 12732e2681SEvgeniy Stepanov 13732e2681SEvgeniy Stepanov/* 14732e2681SEvgeniy Stepanov experimental/algorithm synopsis 15732e2681SEvgeniy Stepanov 16732e2681SEvgeniy Stepanov#include <algorithm> 17732e2681SEvgeniy Stepanov 18732e2681SEvgeniy Stepanovnamespace std { 19732e2681SEvgeniy Stepanovnamespace experimental { 20732e2681SEvgeniy Stepanovinline namespace fundamentals_v1 { 21732e2681SEvgeniy Stepanov 22732e2681SEvgeniy Stepanovtemplate <class ForwardIterator, class Searcher> 23732e2681SEvgeniy StepanovForwardIterator search(ForwardIterator first, ForwardIterator last, 24732e2681SEvgeniy Stepanov const Searcher &searcher); 2514082fccSMarshall Clow 2614082fccSMarshall Clow// sample removed because it's now part of C++17 27732e2681SEvgeniy Stepanov 28732e2681SEvgeniy Stepanov} // namespace fundamentals_v1 29732e2681SEvgeniy Stepanov} // namespace experimental 30732e2681SEvgeniy Stepanov} // namespace std 31732e2681SEvgeniy Stepanov 32732e2681SEvgeniy Stepanov*/ 33732e2681SEvgeniy Stepanov 34*385cc25aSLouis Dionne#include <__assert> // all public C++ headers provide the assertion handler 35732e2681SEvgeniy Stepanov#include <__debug> 364d81a46fSArthur O'Dwyer#include <algorithm> 374d81a46fSArthur O'Dwyer#include <experimental/__config> 384d81a46fSArthur O'Dwyer#include <type_traits> 39732e2681SEvgeniy Stepanov 40732e2681SEvgeniy Stepanov#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 41732e2681SEvgeniy Stepanov# pragma GCC system_header 42732e2681SEvgeniy Stepanov#endif 43732e2681SEvgeniy Stepanov 44a016efb1SEric Fiselier_LIBCPP_BEGIN_NAMESPACE_LFTS 45a016efb1SEric Fiselier 4681416e49SMarshall Clowtemplate <class _ForwardIterator, class _Searcher> 4781416e49SMarshall Clow_LIBCPP_INLINE_VISIBILITY 4881416e49SMarshall Clow_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s) 4928cc4ddeSMarshall Clow{ return __s(__f, __l).first; } 5081416e49SMarshall Clow 51732e2681SEvgeniy Stepanov_LIBCPP_END_NAMESPACE_LFTS 52732e2681SEvgeniy Stepanov 53732e2681SEvgeniy Stepanov#endif /* _LIBCPP_EXPERIMENTAL_ALGORITHM */ 54