Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/c++/11/pstl/numeric_fwd.h
$ cat -n /usr/include/c++/11/pstl/numeric_fwd.h 1 // -*- C++ -*- 2 //===-- numeric_fwd.h --------------------------------------------------===// 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 _PSTL_NUMERIC_FWD_H 11 #define _PSTL_NUMERIC_FWD_H 12 13 #include
14 #include
15 16 namespace __pstl 17 { 18 namespace __internal 19 { 20 21 //------------------------------------------------------------------------ 22 // transform_reduce (version with two binary functions, according to draft N4659) 23 //------------------------------------------------------------------------ 24 25 template
26 _Tp __brick_transform_reduce(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _Tp, _BinaryOperation1, 27 _BinaryOperation2, 28 /*__is_vector=*/std::true_type) noexcept; 29 30 template
31 _Tp __brick_transform_reduce(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _Tp, _BinaryOperation1, 32 _BinaryOperation2, 33 /*__is_vector=*/std::false_type) noexcept; 34 35 template
37 _Tp 38 __pattern_transform_reduce(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _Tp, 39 _BinaryOperation1, _BinaryOperation2, _IsVector, 40 /*is_parallel=*/std::false_type) noexcept; 41 42 template
44 _Tp 45 __pattern_transform_reduce(_ExecutionPolicy&&, _RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, 46 _Tp, _BinaryOperation1, _BinaryOperation2, _IsVector __is_vector, 47 /*is_parallel=*/std::true_type); 48 49 //------------------------------------------------------------------------ 50 // transform_reduce (version with unary and binary functions) 51 //------------------------------------------------------------------------ 52 53 template
54 _Tp __brick_transform_reduce(_ForwardIterator, _ForwardIterator, _Tp, _BinaryOperation, _UnaryOperation, 55 /*is_vector=*/std::true_type) noexcept; 56 57 template
58 _Tp __brick_transform_reduce(_ForwardIterator, _ForwardIterator, _Tp, _BinaryOperation, _UnaryOperation, 59 /*is_vector=*/std::false_type) noexcept; 60 61 template
63 _Tp 64 __pattern_transform_reduce(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, _Tp, _BinaryOperation, 65 _UnaryOperation, _IsVector, 66 /*is_parallel=*/std::false_type) noexcept; 67 68 template
70 _Tp 71 __pattern_transform_reduce(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, _Tp, _BinaryOperation, 72 _UnaryOperation, _IsVector, 73 /*is_parallel=*/std::true_type); 74 75 //------------------------------------------------------------------------ 76 // transform_exclusive_scan 77 // 78 // walk3 evaluates f(x,y,z) for (x,y,z) drawn from [first1,last1), [first2,...), [first3,...) 79 //------------------------------------------------------------------------ 80 81 template
82 std::pair<_OutputIterator, _Tp> __brick_transform_scan(_ForwardIterator, _ForwardIterator, _OutputIterator, 83 _UnaryOperation, _Tp, _BinaryOperation, 84 /*Inclusive*/ std::false_type) noexcept; 85 86 template
87 std::pair<_OutputIterator, _Tp> __brick_transform_scan(_ForwardIterator, _ForwardIterator, _OutputIterator, 88 _UnaryOperation, _Tp, _BinaryOperation, 89 /*Inclusive*/ std::true_type) noexcept; 90 91 template
93 _OutputIterator 94 __pattern_transform_scan(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, _OutputIterator, _UnaryOperation, _Tp, 95 _BinaryOperation, _Inclusive, _IsVector, 96 /*is_parallel=*/std::false_type) noexcept; 97 98 template
100 typename std::enable_if::value, _OutputIterator>::type 101 __pattern_transform_scan(_ExecutionPolicy&&, _RandomAccessIterator, _RandomAccessIterator, _OutputIterator, 102 _UnaryOperation, _Tp, _BinaryOperation, _Inclusive, _IsVector, /*is_parallel=*/std::true_type); 103 104 template
106 typename std::enable_if
::value, _OutputIterator>::type 107 __pattern_transform_scan(_ExecutionPolicy&&, _RandomAccessIterator, _RandomAccessIterator, _OutputIterator, 108 _UnaryOperation, _Tp, _BinaryOperation, _Inclusive, _IsVector, /*is_parallel=*/std::true_type); 109 110 //------------------------------------------------------------------------ 111 // adjacent_difference 112 //------------------------------------------------------------------------ 113 114 template
115 _OutputIterator __brick_adjacent_difference(_ForwardIterator, _ForwardIterator, _OutputIterator, _BinaryOperation, 116 /*is_vector*/ std::false_type) noexcept; 117 118 template
119 _OutputIterator __brick_adjacent_difference(_ForwardIterator, _ForwardIterator, _OutputIterator, _BinaryOperation, 120 /*is_vector*/ std::true_type) noexcept; 121 122 template
124 _OutputIterator 125 __pattern_adjacent_difference(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, _OutputIterator, _BinaryOperation, 126 _IsVector, /*is_parallel*/ std::false_type) noexcept; 127 128 template
130 _OutputIterator 131 __pattern_adjacent_difference(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, _OutputIterator, _BinaryOperation, 132 _IsVector, /*is_parallel*/ std::true_type); 133 134 } // namespace __internal 135 } // namespace __pstl 136 #endif /* _PSTL_NUMERIC_FWD_H */
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™