18 #if !defined( BOLT_CL_REDUCE_BY_KEY_H ) 
   19 #define BOLT_CL_REDUCE_BY_KEY_H 
   85                 typename InputIterator1,
 
   86                 typename InputIterator2,
 
   87                 typename OutputIterator1,
 
   88                 typename OutputIterator2>
 
   89                 pair<OutputIterator1, OutputIterator2>
 
   92                 InputIterator1  keys_first,
 
   93                 InputIterator1  keys_last,
 
   94                 InputIterator2  values_first,
 
   95                 OutputIterator1  keys_output,
 
   96                 OutputIterator2  values_output,
 
   97                 const std::string& user_code=
"" );
 
  100                 typename InputIterator1,
 
  101                 typename InputIterator2,
 
  102                 typename OutputIterator1,
 
  103                 typename OutputIterator2>
 
  104                 pair<OutputIterator1, OutputIterator2>
 
  106                 InputIterator1  keys_first,
 
  107                 InputIterator1  keys_last,
 
  108                 InputIterator2  values_first,
 
  109                 OutputIterator1  keys_output,
 
  110                 OutputIterator2  values_output,
 
  111                 const std::string& user_code=
"" );
 
  156                 typename InputIterator1,
 
  157                 typename InputIterator2,
 
  158                 typename OutputIterator1,
 
  159                 typename OutputIterator2,
 
  160                 typename BinaryPredicate>
 
  161                 pair<OutputIterator1, OutputIterator2>
 
  164                 InputIterator1  keys_first,
 
  165                 InputIterator1  keys_last,
 
  166                 InputIterator2  values_first,
 
  167                 OutputIterator1  keys_output,
 
  168                 OutputIterator2  values_output,
 
  169                 BinaryPredicate binary_pred,
 
  170                 const std::string& user_code=
"" );
 
  173                 typename InputIterator1,
 
  174                 typename InputIterator2,
 
  175                 typename OutputIterator1,
 
  176                 typename OutputIterator2,
 
  177                 typename BinaryPredicate>
 
  178                 pair<OutputIterator1, OutputIterator2>
 
  180                 InputIterator1  keys_first,
 
  181                 InputIterator1  keys_last,
 
  182                 InputIterator2  values_first,
 
  183                 OutputIterator1  keys_output,
 
  184                 OutputIterator2  values_output,
 
  185                 BinaryPredicate binary_pred,
 
  186                 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>