summaryrefslogtreecommitdiff
path: root/src/mongo/idl
diff options
context:
space:
mode:
authorJonathan Reams <jbreams@mongodb.com>2019-03-27 12:06:48 -0400
committerJonathan Reams <jbreams@mongodb.com>2019-04-06 12:40:33 -0400
commit83383eb160f904c699b399ac59ccbbf103ad6102 (patch)
treed82abc4d7f7f10181b103461c936682813787e56 /src/mongo/idl
parent652d22504d2990b2322aefc272b489e731edd789 (diff)
downloadmongo-83383eb160f904c699b399ac59ccbbf103ad6102.tar.gz
SERVER-40356 Make ConstDataRange constructable from any byte-like type
Diffstat (limited to 'src/mongo/idl')
-rw-r--r--src/mongo/idl/idl_parser.cpp2
-rw-r--r--src/mongo/idl/idl_parser.h11
-rw-r--r--src/mongo/idl/idl_test.cpp4
-rw-r--r--src/mongo/idl/idl_test_types.h2
4 files changed, 4 insertions, 15 deletions
diff --git a/src/mongo/idl/idl_parser.cpp b/src/mongo/idl/idl_parser.cpp
index bd189ee3631..a55de9283f6 100644
--- a/src/mongo/idl/idl_parser.cpp
+++ b/src/mongo/idl/idl_parser.cpp
@@ -297,7 +297,7 @@ std::vector<ConstDataRange> transformVector(const std::vector<std::vector<std::u
output.reserve(input.size());
std::transform(begin(input), end(input), std::back_inserter(output), [](auto&& vec) {
- return makeCDR(vec);
+ return ConstDataRange(vec);
});
return output;
diff --git a/src/mongo/idl/idl_parser.h b/src/mongo/idl/idl_parser.h
index b250c22f551..32a3f83b1af 100644
--- a/src/mongo/idl/idl_parser.h
+++ b/src/mongo/idl/idl_parser.h
@@ -239,15 +239,4 @@ std::vector<std::string> transformVector(const std::vector<StringData>& input);
std::vector<ConstDataRange> transformVector(const std::vector<std::vector<std::uint8_t>>& input);
std::vector<std::vector<std::uint8_t>> transformVector(const std::vector<ConstDataRange>& input);
-/**
- * Get a ConstDataRange from a vector or an array of bytes.
- */
-inline ConstDataRange makeCDR(const std::vector<uint8_t>& value) {
- return ConstDataRange(reinterpret_cast<const char*>(value.data()), value.size());
-}
-
-inline ConstDataRange makeCDR(const std::array<uint8_t, 16>& value) {
- return ConstDataRange(reinterpret_cast<const char*>(value.data()), value.size());
-}
-
} // namespace mongo
diff --git a/src/mongo/idl/idl_test.cpp b/src/mongo/idl/idl_test.cpp
index 3663d2b137c..ab998137bf5 100644
--- a/src/mongo/idl/idl_test.cpp
+++ b/src/mongo/idl/idl_test.cpp
@@ -45,7 +45,7 @@ namespace mongo {
namespace {
bool isEquals(ConstDataRange left, const std::vector<uint8_t>& right) {
- auto rightCDR = makeCDR(right);
+ ConstDataRange rightCDR(right);
return std::equal(left.data(),
left.data() + left.length(),
rightCDR.data(),
@@ -1157,7 +1157,7 @@ void TestBinDataVector() {
{
BSONObjBuilder builder;
ParserT one_new;
- one_new.setValue(makeCDR(expected));
+ one_new.setValue(expected);
testStruct.serialize(&builder);
auto serializedDoc = builder.obj();
diff --git a/src/mongo/idl/idl_test_types.h b/src/mongo/idl/idl_test_types.h
index 48a41e4383d..990d3d64406 100644
--- a/src/mongo/idl/idl_test_types.h
+++ b/src/mongo/idl/idl_test_types.h
@@ -103,7 +103,7 @@ public:
}
ConstDataRange serializeToBSON() const {
- return makeCDR(_vec);
+ return ConstDataRange(_vec);
}
const std::vector<std::uint8_t>& getVector() const {