1// -*- C++ -*-
2//===-------------------------- algorithm ---------------------------------===//
3//
4//                     The LLVM Compiler Infrastructure
5//
6// This file is dual licensed under the MIT and the University of Illinois Open
7// Source Licenses. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11#ifndef _LIBCPP_EXPERIMENTAL_ALGORITHM
12#define _LIBCPP_EXPERIMENTAL_ALGORITHM
13
14/*
15   experimental/algorithm synopsis
16
17#include <algorithm>
18
19namespace std {
20namespace experimental {
21inline namespace fundamentals_v1 {
22
23template <class ForwardIterator, class Searcher>
24ForwardIterator search(ForwardIterator first, ForwardIterator last,
25                       const Searcher &searcher);
26
27// sample removed because it's now part of C++17
28
29} // namespace fundamentals_v1
30} // namespace experimental
31} // namespace std
32
33*/
34
35#include <experimental/__config>
36#include <algorithm>
37#include <type_traits>
38
39#include <__debug>
40
41#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
42#pragma GCC system_header
43#endif
44
45_LIBCPP_PUSH_MACROS
46#include <__undef_macros>
47
48
49_LIBCPP_BEGIN_NAMESPACE_LFTS
50
51template <class _ForwardIterator, class _Searcher>
52_LIBCPP_INLINE_VISIBILITY
53_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s)
54{ return __s(__f, __l).first; }
55
56_LIBCPP_END_NAMESPACE_LFTS
57
58_LIBCPP_POP_MACROS
59
60#endif /* _LIBCPP_EXPERIMENTAL_ALGORITHM */
61