diff options
author | Jonathan Reams <jbreams@mongodb.com> | 2019-03-27 12:06:48 -0400 |
---|---|---|
committer | Jonathan Reams <jbreams@mongodb.com> | 2019-04-06 12:40:33 -0400 |
commit | 83383eb160f904c699b399ac59ccbbf103ad6102 (patch) | |
tree | d82abc4d7f7f10181b103461c936682813787e56 /src/mongo/idl | |
parent | 652d22504d2990b2322aefc272b489e731edd789 (diff) | |
download | mongo-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.cpp | 2 | ||||
-rw-r--r-- | src/mongo/idl/idl_parser.h | 11 | ||||
-rw-r--r-- | src/mongo/idl/idl_test.cpp | 4 | ||||
-rw-r--r-- | src/mongo/idl/idl_test_types.h | 2 |
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 { |