diff options
author | Billy Donahue <billy.donahue@mongodb.com> | 2022-06-30 20:13:00 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-07-06 15:17:27 +0000 |
commit | 501b2dc980abcc8090cff1998141af30b42d8dd1 (patch) | |
tree | 804539df912dd3857cea6116851df468190877b3 /src/mongo/db/update | |
parent | 3cc20216a850af1d4bf63956740d73e8fc3779df (diff) | |
download | mongo-501b2dc980abcc8090cff1998141af30b42d8dd1.tar.gz |
SERVER-67709 rename visit_helper
Diffstat (limited to 'src/mongo/db/update')
-rw-r--r-- | src/mongo/db/update/document_diff_applier.cpp | 10 | ||||
-rw-r--r-- | src/mongo/db/update/document_diff_serialization.cpp | 35 | ||||
-rw-r--r-- | src/mongo/db/update/document_diff_serialization.h | 2 | ||||
-rw-r--r-- | src/mongo/db/update/update_driver.cpp | 2 |
4 files changed, 23 insertions, 26 deletions
diff --git a/src/mongo/db/update/document_diff_applier.cpp b/src/mongo/db/update/document_diff_applier.cpp index ec592ef3363..e9130b670f9 100644 --- a/src/mongo/db/update/document_diff_applier.cpp +++ b/src/mongo/db/update/document_diff_applier.cpp @@ -34,8 +34,8 @@ #include "mongo/db/update_index_data.h" #include "mongo/stdx/variant.h" +#include "mongo/util/overloaded_visitor.h" #include "mongo/util/string_map.h" -#include "mongo/util/visit_helper.h" namespace mongo::doc_diff { namespace { @@ -250,7 +250,7 @@ int32_t computeDamageOnObject(const BSONObj& preImageRoot, } stdx::visit( - visit_helper::Overloaded{ + OverloadedVisitor{ [&](Delete) { appendDamage(damages, 0, 0, targetOffset, elt.size()); diffSize -= elt.size(); @@ -332,7 +332,7 @@ int32_t computeDamageForArrayIndex(const BSONObj& preImageRoot, bool mustCheckExistenceForInsertOperations) { int32_t diffSize = 0; stdx::visit( - visit_helper::Overloaded{ + OverloadedVisitor{ [&](const BSONElement& update) { invariant(!update.eoo()); auto preValuePos = arrayPreImage.end()->rawdata(); @@ -520,7 +520,7 @@ public: FieldRef::FieldRefTempAppend tempAppend(*path, elt.fieldNameStringData()); stdx::visit( - visit_helper::Overloaded{ + OverloadedVisitor{ [this, &path](Delete) { // Do not append anything. updateIndexesAffected(path); @@ -615,7 +615,7 @@ private: const ArrayDiffReader::ArrayModification& modification, BSONArrayBuilder* builder) { stdx::visit( - visit_helper::Overloaded{ + OverloadedVisitor{ [this, &path, builder](const BSONElement& update) { invariant(!update.eoo()); builder->append(update); diff --git a/src/mongo/db/update/document_diff_serialization.cpp b/src/mongo/db/update/document_diff_serialization.cpp index 0f5533e1d06..ccda45d8443 100644 --- a/src/mongo/db/update/document_diff_serialization.cpp +++ b/src/mongo/db/update/document_diff_serialization.cpp @@ -121,20 +121,19 @@ void appendElementToBuilder(stdx::variant<mutablebson::Element, BSONElement> ele StringData fieldName, BSONObjBuilder* builder) { stdx::visit( - visit_helper::Overloaded{ - [&](const mutablebson::Element& element) { - if (element.hasValue()) { - builder->appendAs(element.getValue(), fieldName); - } else if (element.getType() == BSONType::Object) { - BSONObjBuilder subBuilder(builder->subobjStart(fieldName)); - element.writeChildrenTo(&subBuilder); - } else { - invariant(element.getType() == BSONType::Array); - BSONArrayBuilder subBuilder(builder->subarrayStart(fieldName)); - element.writeArrayTo(&subBuilder); - } - }, - [&](BSONElement element) { builder->appendAs(element, fieldName); }}, + OverloadedVisitor{[&](const mutablebson::Element& element) { + if (element.hasValue()) { + builder->appendAs(element.getValue(), fieldName); + } else if (element.getType() == BSONType::Object) { + BSONObjBuilder subBuilder(builder->subobjStart(fieldName)); + element.writeChildrenTo(&subBuilder); + } else { + invariant(element.getType() == BSONType::Array); + BSONArrayBuilder subBuilder(builder->subarrayStart(fieldName)); + element.writeArrayTo(&subBuilder); + } + }, + [&](BSONElement element) { builder->appendAs(element, fieldName); }}, elem); } @@ -486,11 +485,9 @@ boost::optional<std::pair<size_t, ArrayDiffReader::ArrayModification>> ArrayDiff str::stream() << "expected sub diff at index " << idx << " but got " << next, next.type() == BSONType::Object); - auto modification = - stdx::visit(visit_helper::Overloaded{[](const auto& reader) -> ArrayModification { - return {reader}; - }}, - getReader(next.embeddedObject())); + auto modification = stdx::visit( + OverloadedVisitor{[](const auto& reader) -> ArrayModification { return {reader}; }}, + getReader(next.embeddedObject())); return {{idx, modification}}; } else { uasserted(4770502, diff --git a/src/mongo/db/update/document_diff_serialization.h b/src/mongo/db/update/document_diff_serialization.h index 9817088495f..907638f413d 100644 --- a/src/mongo/db/update/document_diff_serialization.h +++ b/src/mongo/db/update/document_diff_serialization.h @@ -35,8 +35,8 @@ #include "mongo/bson/mutable/document.h" #include "mongo/stdx/variant.h" #include "mongo/util/itoa.h" +#include "mongo/util/overloaded_visitor.h" #include "mongo/util/string_map.h" -#include "mongo/util/visit_helper.h" // This file contains classes for serializing document diffs to a format that can be stored in the // oplog. Any code/machinery which manipulates document diffs should do so through these classes. diff --git a/src/mongo/db/update/update_driver.cpp b/src/mongo/db/update/update_driver.cpp index dcb164f0ace..9014ea37ce7 100644 --- a/src/mongo/db/update/update_driver.cpp +++ b/src/mongo/db/update/update_driver.cpp @@ -49,8 +49,8 @@ #include "mongo/db/update/update_oplog_entry_version.h" #include "mongo/stdx/variant.h" #include "mongo/util/embedded_builder.h" +#include "mongo/util/overloaded_visitor.h" #include "mongo/util/str.h" -#include "mongo/util/visit_helper.h" namespace mongo { |