1// -*- C++ -*-
2//===-------------------------- algorithm ---------------------------------===//
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 <experimental/__config>
35#include <algorithm>
36#include <type_traits>
37
38#include <__debug>
39
40#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
41#pragma GCC system_header
42#endif
43
44_LIBCPP_PUSH_MACROS
45#include <__undef_macros>
46
47
48_LIBCPP_BEGIN_NAMESPACE_LFTS
49
50template <class _ForwardIterator, class _Searcher>
51_LIBCPP_INLINE_VISIBILITY
52_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s)
53{ return __s(__f, __l).first; }
54
55_LIBCPP_END_NAMESPACE_LFTS
56
57_LIBCPP_POP_MACROS
58
59#endif /* _LIBCPP_EXPERIMENTAL_ALGORITHM */
60