2
0
mirror of https://github.com/boostorg/compute.git synced 2026-02-19 14:22:12 +00:00

Add four-iterator versions of equal() and mismatch()

This commit is contained in:
Kyle Lutz
2014-12-30 13:44:24 -08:00
parent d2ea30895d
commit c74c2abc4f
4 changed files with 75 additions and 0 deletions

View File

@@ -32,6 +32,21 @@ inline bool equal(InputIterator1 first1,
queue).first == last1;
}
/// \overload
template<class InputIterator1, class InputIterator2>
inline bool equal(InputIterator1 first1,
InputIterator1 last1,
InputIterator2 first2,
InputIterator2 last2,
command_queue &queue = system::default_queue())
{
if(std::distance(first1, last1) != std::distance(first2, last2)){
return false;
}
return ::boost::compute::equal(first1, last1, first2, queue);
}
} // end compute namespace
} // end boost namespace

View File

@@ -64,6 +64,25 @@ mismatch(InputIterator1 first1,
return std::make_pair(iter, first2 + std::distance(first1, iter));
}
/// \overload
template<class InputIterator1, class InputIterator2>
inline std::pair<InputIterator1, InputIterator2>
mismatch(InputIterator1 first1,
InputIterator1 last1,
InputIterator2 first2,
InputIterator2 last2,
command_queue &queue = system::default_queue())
{
if(std::distance(first1, last1) < std::distance(first2, last2)){
return ::boost::compute::mismatch(first1, last1, first2, queue);
}
else {
return ::boost::compute::mismatch(
first1, first1 + std::distance(first2, last2), first2, queue
);
}
}
} // end compute namespace
} // end boost namespace