]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/libc++/include/experimental/algorithm
Merge clang 7.0.1 and several follow-up changes
[FreeBSD/FreeBSD.git] / contrib / libc++ / include / experimental / algorithm
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
19 namespace std {
20 namespace experimental {
21 inline namespace fundamentals_v1 {
22
23 template <class ForwardIterator, class Searcher>
24 ForwardIterator 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
51 template <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 */