diff options
Diffstat (limited to 'src/mongo/idl/idl_parser.cpp')
-rw-r--r-- | src/mongo/idl/idl_parser.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mongo/idl/idl_parser.cpp b/src/mongo/idl/idl_parser.cpp index fee9678f485..c9450664c71 100644 --- a/src/mongo/idl/idl_parser.cpp +++ b/src/mongo/idl/idl_parser.cpp @@ -218,4 +218,29 @@ std::vector<std::string> transformVector(const std::vector<StringData>& input) { return output; } +std::vector<ConstDataRange> transformVector(const std::vector<std::vector<std::uint8_t>>& input) { + std::vector<ConstDataRange> output; + + output.reserve(input.size()); + + std::transform(begin(input), end(input), std::back_inserter(output), [](auto&& vec) { + return makeCDR(vec); + }); + + return output; +} + +std::vector<std::vector<std::uint8_t>> transformVector(const std::vector<ConstDataRange>& input) { + std::vector<std::vector<std::uint8_t>> output; + + output.reserve(input.size()); + + std::transform(begin(input), end(input), std::back_inserter(output), [](auto&& cdr) { + return std::vector<std::uint8_t>(reinterpret_cast<const uint8_t*>(cdr.data()), + reinterpret_cast<const uint8_t*>(cdr.data()) + + cdr.length()); + }); + + return output; +} } // namespace mongo |