From 8603ceb9951a154d86bfa3658238d44f045ed001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20G=C3=B6dderz?= Date: Fri, 4 Oct 2019 17:46:08 +0200 Subject: [PATCH] Implement copying/moving constructors of InputAqlItemRow (#10165) --- arangod/Aql/InputAqlItemRow.cpp | 7 ++++++- arangod/Aql/InputAqlItemRow.h | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/arangod/Aql/InputAqlItemRow.cpp b/arangod/Aql/InputAqlItemRow.cpp index 36481fe2df..403e328b5f 100644 --- a/arangod/Aql/InputAqlItemRow.cpp +++ b/arangod/Aql/InputAqlItemRow.cpp @@ -254,7 +254,12 @@ void InputAqlItemRow::toVelocyPack(transaction::Methods* trx, VPackBuilder& resu InputAqlItemRow::InputAqlItemRow(CreateInvalidInputRowHint) : _block(nullptr), _baseIndex(0) {} -InputAqlItemRow::InputAqlItemRow(SharedAqlItemBlockPtr block, size_t baseIndex) +InputAqlItemRow::InputAqlItemRow(SharedAqlItemBlockPtr const& block, size_t baseIndex) + : _block(block), _baseIndex(baseIndex) { + TRI_ASSERT(_block != nullptr); +} + +InputAqlItemRow::InputAqlItemRow(SharedAqlItemBlockPtr&& block, size_t baseIndex) noexcept : _block(std::move(block)), _baseIndex(baseIndex) { TRI_ASSERT(_block != nullptr); } diff --git a/arangod/Aql/InputAqlItemRow.h b/arangod/Aql/InputAqlItemRow.h index 168faf7e26..ed6b68de4f 100644 --- a/arangod/Aql/InputAqlItemRow.h +++ b/arangod/Aql/InputAqlItemRow.h @@ -67,9 +67,9 @@ class InputAqlItemRow { // The default constructor contains an invalid item row explicit InputAqlItemRow(CreateInvalidInputRowHint); - InputAqlItemRow( - // cppcheck-suppress passedByValue - SharedAqlItemBlockPtr block, size_t baseIndex); + InputAqlItemRow(SharedAqlItemBlockPtr const& block, size_t baseIndex); + + InputAqlItemRow(SharedAqlItemBlockPtr&& block, size_t baseIndex) noexcept; /** * @brief Get a reference to the value of the given Variable Nr