]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/libc++/include/experimental/algorithm
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / libc++ / include / experimental / algorithm
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
18 namespace std {
19 namespace experimental {
20 inline namespace fundamentals_v1 {
21
22 template <class ForwardIterator, class Searcher>
23 ForwardIterator 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
50 template <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 */