void BSONComparatorInterfaceBase<T>::hashCombineBSONObj( size_t& seed, const BSONObj& objToHash, ComparisonRulesSet rules, const StringData::ComparatorInterface* stringComparator) { if (rules & ComparisonRules::kIgnoreFieldOrder) { BSONObjIteratorSorted iter(objToHash); while (iter.more()) { hashCombineBSONElement(seed, iter.next(), rules, stringComparator); } } else { for (auto elem : objToHash) { hashCombineBSONElement(seed, elem, rules, stringComparator); } } }
void BSONComparatorInterfaceBase<T>::hashCombineBSONObj( size_t& seed, const BSONObj& objToHash, bool considerFieldName, const StringData::ComparatorInterface* stringComparator) { for (auto elem : objToHash) { hashCombineBSONElement(seed, elem, considerFieldName, stringComparator); } }