18 #if !defined( BOLT_CL_REDUCE_BY_KEY_H )
19 #define BOLT_CL_REDUCE_BY_KEY_H
89 typename InputIterator1,
90 typename InputIterator2,
91 typename OutputIterator1,
92 typename OutputIterator2>
93 pair<OutputIterator1, OutputIterator2>
96 InputIterator1 keys_first,
97 InputIterator1 keys_last,
98 InputIterator2 values_first,
99 OutputIterator1 keys_output,
100 OutputIterator2 values_output,
101 const std::string& user_code=
"" );
104 typename InputIterator1,
105 typename InputIterator2,
106 typename OutputIterator1,
107 typename OutputIterator2>
108 pair<OutputIterator1, OutputIterator2>
110 InputIterator1 keys_first,
111 InputIterator1 keys_last,
112 InputIterator2 values_first,
113 OutputIterator1 keys_output,
114 OutputIterator2 values_output,
115 const std::string& user_code=
"" );
158 typename InputIterator1,
159 typename InputIterator2,
160 typename OutputIterator1,
161 typename OutputIterator2,
162 typename BinaryPredicate>
163 pair<OutputIterator1, OutputIterator2>
166 InputIterator1 keys_first,
167 InputIterator1 keys_last,
168 InputIterator2 values_first,
169 OutputIterator1 keys_output,
170 OutputIterator2 values_output,
171 BinaryPredicate binary_pred,
172 const std::string& user_code=
"" );
175 typename InputIterator1,
176 typename InputIterator2,
177 typename OutputIterator1,
178 typename OutputIterator2,
179 typename BinaryPredicate>
180 pair<OutputIterator1, OutputIterator2>
182 InputIterator1 keys_first,
183 InputIterator1 keys_last,
184 InputIterator2 values_first,
185 OutputIterator1 keys_output,
186 OutputIterator2 values_output,
187 BinaryPredicate binary_pred,
188 const std::string& user_code=
"" );
233 typename InputIterator1,
234 typename InputIterator2,
235 typename OutputIterator1,
236 typename OutputIterator2,
237 typename BinaryPredicate,
238 typename BinaryFunction>
239 pair<OutputIterator1, OutputIterator2>
242 InputIterator1 keys_first,
243 InputIterator1 keys_last,
244 InputIterator2 values_first,
245 OutputIterator1 keys_output,
246 OutputIterator2 values_output,
247 BinaryPredicate binary_pred,
248 BinaryFunction binary_op,
249 const std::string& user_code=
"" );
252 typename InputIterator1,
253 typename InputIterator2,
254 typename OutputIterator1,
255 typename OutputIterator2,
256 typename BinaryPredicate,
257 typename BinaryFunction>
258 pair<OutputIterator1, OutputIterator2>
260 InputIterator1 keys_first,
261 InputIterator1 keys_last,
262 InputIterator2 values_first,
263 OutputIterator1 keys_output,
264 OutputIterator2 values_output,
265 BinaryPredicate binary_pred,
266 BinaryFunction binary_op,
267 const std::string& user_code=
"" );
274 #include <bolt/cl/detail/reduce_by_key.inl>