18 #if !defined( BOLT_AMP_REDUCE_BY_KEY_H )
19 #define BOLT_AMP_REDUCE_BY_KEY_H
86 typename InputIterator1,
87 typename InputIterator2,
88 typename OutputIterator1,
89 typename OutputIterator2>
93 InputIterator1 keys_first,
94 InputIterator1 keys_last,
95 InputIterator2 values_first,
96 OutputIterator1 keys_output,
97 OutputIterator2 values_output);
100 typename InputIterator1,
101 typename InputIterator2,
102 typename OutputIterator1,
103 typename OutputIterator2>
106 InputIterator1 keys_first,
107 InputIterator1 keys_last,
108 InputIterator2 values_first,
109 OutputIterator1 keys_output,
110 OutputIterator2 values_output);
155 typename InputIterator1,
156 typename InputIterator2,
157 typename OutputIterator1,
158 typename OutputIterator2,
159 typename BinaryPredicate>
163 InputIterator1 keys_first,
164 InputIterator1 keys_last,
165 InputIterator2 values_first,
166 OutputIterator1 keys_output,
167 OutputIterator2 values_output,
168 BinaryPredicate binary_pred);
171 typename InputIterator1,
172 typename InputIterator2,
173 typename OutputIterator1,
174 typename OutputIterator2,
175 typename BinaryPredicate>
178 InputIterator1 keys_first,
179 InputIterator1 keys_last,
180 InputIterator2 values_first,
181 OutputIterator1 keys_output,
182 OutputIterator2 values_output,
183 BinaryPredicate binary_pred);
230 typename InputIterator1,
231 typename InputIterator2,
232 typename OutputIterator1,
233 typename OutputIterator2,
234 typename BinaryPredicate,
235 typename BinaryFunction>
239 InputIterator1 keys_first,
240 InputIterator1 keys_last,
241 InputIterator2 values_first,
242 OutputIterator1 keys_output,
243 OutputIterator2 values_output,
244 BinaryPredicate binary_pred,
245 BinaryFunction binary_op);
248 typename InputIterator1,
249 typename InputIterator2,
250 typename OutputIterator1,
251 typename OutputIterator2,
252 typename BinaryPredicate,
253 typename BinaryFunction>
256 InputIterator1 keys_first,
257 InputIterator1 keys_last,
258 InputIterator2 values_first,
259 OutputIterator1 keys_output,
260 OutputIterator2 values_output,
261 BinaryPredicate binary_pred,
262 BinaryFunction binary_op);
267 #include <bolt/amp/detail/reduce_by_key.inl>