1854fa44bSDimitry Andric// -*- C++ -*- 2854fa44bSDimitry Andric//===-------------------------- algorithm ---------------------------------===// 3854fa44bSDimitry Andric// 4854fa44bSDimitry Andric// The LLVM Compiler Infrastructure 5854fa44bSDimitry Andric// 6854fa44bSDimitry Andric// This file is dual licensed under the MIT and the University of Illinois Open 7854fa44bSDimitry Andric// Source Licenses. See LICENSE.TXT for details. 8854fa44bSDimitry Andric// 9854fa44bSDimitry Andric//===----------------------------------------------------------------------===// 10854fa44bSDimitry Andric 11854fa44bSDimitry Andric#ifndef _LIBCPP_EXPERIMENTAL_ALGORITHM 12854fa44bSDimitry Andric#define _LIBCPP_EXPERIMENTAL_ALGORITHM 13854fa44bSDimitry Andric 14854fa44bSDimitry Andric/* 15854fa44bSDimitry Andric experimental/algorithm synopsis 16854fa44bSDimitry Andric 17854fa44bSDimitry Andric#include <algorithm> 18854fa44bSDimitry Andric 19854fa44bSDimitry Andricnamespace std { 20854fa44bSDimitry Andricnamespace experimental { 21854fa44bSDimitry Andricinline namespace fundamentals_v1 { 22854fa44bSDimitry Andric 23854fa44bSDimitry Andrictemplate <class ForwardIterator, class Searcher> 24854fa44bSDimitry AndricForwardIterator search(ForwardIterator first, ForwardIterator last, 25854fa44bSDimitry Andric const Searcher &searcher); 26*4ba319b5SDimitry Andric 27*4ba319b5SDimitry Andric// sample removed because it's now part of C++17 28854fa44bSDimitry Andric 29854fa44bSDimitry Andric} // namespace fundamentals_v1 30854fa44bSDimitry Andric} // namespace experimental 31854fa44bSDimitry Andric} // namespace std 32854fa44bSDimitry Andric 33854fa44bSDimitry Andric*/ 34854fa44bSDimitry Andric 35854fa44bSDimitry Andric#include <experimental/__config> 36854fa44bSDimitry Andric#include <algorithm> 37854fa44bSDimitry Andric#include <type_traits> 38854fa44bSDimitry Andric 39854fa44bSDimitry Andric#include <__debug> 40854fa44bSDimitry Andric 41854fa44bSDimitry Andric#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 42854fa44bSDimitry Andric#pragma GCC system_header 43854fa44bSDimitry Andric#endif 44854fa44bSDimitry Andric 45f9448bf3SDimitry Andric_LIBCPP_PUSH_MACROS 46f9448bf3SDimitry Andric#include <__undef_macros> 47854fa44bSDimitry Andric 48854fa44bSDimitry Andric 49f9448bf3SDimitry Andric_LIBCPP_BEGIN_NAMESPACE_LFTS 50f9448bf3SDimitry Andric 519729cf09SDimitry Andrictemplate <class _ForwardIterator, class _Searcher> 529729cf09SDimitry Andric_LIBCPP_INLINE_VISIBILITY 539729cf09SDimitry Andric_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s) 547c82a1ecSDimitry Andric{ return __s(__f, __l).first; } 559729cf09SDimitry Andric 56854fa44bSDimitry Andric_LIBCPP_END_NAMESPACE_LFTS 57854fa44bSDimitry Andric 58f9448bf3SDimitry Andric_LIBCPP_POP_MACROS 59f9448bf3SDimitry Andric 60854fa44bSDimitry Andric#endif /* _LIBCPP_EXPERIMENTAL_ALGORITHM */ 61