in ext/gtest-1.8.0/googletest/include/gtest/internal/gtest-param-util-generated.h [4694:4717]
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
// Having the same base generator guarantees that the other
// iterator is of the same type and we can downcast.
GTEST_CHECK_(BaseGenerator() == other.BaseGenerator())
<< "The program attempted to compare iterators "
<< "from different generators." << std::endl;
const Iterator* typed_other =
CheckedDowncastToActualType<const Iterator>(&other);
// We must report iterators equal if they both point beyond their
// respective ranges. That can happen in a variety of fashions,
// so we have to consult AtEnd().
return (AtEnd() && typed_other->AtEnd()) ||
(
current1_ == typed_other->current1_ &&
current2_ == typed_other->current2_ &&
current3_ == typed_other->current3_ &&
current4_ == typed_other->current4_ &&
current5_ == typed_other->current5_ &&
current6_ == typed_other->current6_ &&
current7_ == typed_other->current7_ &&
current8_ == typed_other->current8_ &&
current9_ == typed_other->current9_ &&
current10_ == typed_other->current10_);
}