8#ifndef ADOBE_MISMATCH_HPP
9#define ADOBE_MISMATCH_HPP
22namespace implementation {
47 while (n && *first1 == *first2) {
53 return std::make_pair(first1, first2);
59std::pair<I1, I2>
mismatch(I1 first1, I1 last1, I2 first2, I2 last2) {
60 return implementation::mismatch_t<typename std::iterator_traits<I1>::iterator_category,
61 typename std::iterator_traits<I2>::iterator_category>()(
62 first1, last1, first2, last2);
67namespace implementation {
74 template <
typename I1,
77 std::pair<I1, I2> operator()(I1 first1, I1 last1, I2 first2, I2 last2)
const {
78 while (first1 != last1 && first2 != last2 && *first1 == *first2) {
82 return std::make_pair(first1, first2);
87struct mismatch_t<std::random_access_iterator_tag, std::random_access_iterator_tag> {
88 template <
typename I1,
91 std::pair<I1, I2> operator()(I1 first1, I1 last1, I2 first2, I2 last2)
const {
92 if ((last1 - first1) < (last2 - first2)) {
std::pair< typename boost::range_iterator< InputRange1 >::type, InputIterator2 > mismatch(InputRange1 &range1, InputIterator2 first2)
mismatch implementation
std::pair< I1, I2 > mismatch_n(I1 first1, I2 first2, N n)