formula/source/core/api/vectortoken.cxx | 6 +++--- include/formula/vectortoken.hxx | 2 +- sc/source/core/data/grouptokenconverter.cxx | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-)
New commits: commit 6a3cb1545290d822455b7c3259702a1d1afc8ef9 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Sun Oct 10 20:36:27 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Mon Oct 11 12:19:03 2021 +0200 loplugin:moveparam in formula Change-Id: I358f5e8031c235be76bb96591bf33f59a39b00ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123350 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/formula/source/core/api/vectortoken.cxx b/formula/source/core/api/vectortoken.cxx index b4bc14370a7d..c1bd52157795 100644 --- a/formula/source/core/api/vectortoken.cxx +++ b/formula/source/core/api/vectortoken.cxx @@ -64,10 +64,10 @@ size_t SingleVectorRefToken::GetArrayLength() const } DoubleVectorRefToken::DoubleVectorRefToken( - const std::vector<VectorRefArray>& rArrays, size_t nArrayLength, + std::vector<VectorRefArray>&& rArrays, size_t nArrayLength, size_t nRefRowSize, bool bStartFixed, bool bEndFixed ) : FormulaToken(svDoubleVectorRef, ocPush), - maArrays(rArrays), mnArrayLength(nArrayLength), + maArrays(std::move(rArrays)), mnArrayLength(nArrayLength), mnRefRowSize(nRefRowSize), mbStartFixed(bStartFixed), mbEndFixed(bEndFixed) { SAL_INFO("formula.core", "Created DoubleVectorRefToken nArrayLength=" << nArrayLength); @@ -76,7 +76,7 @@ DoubleVectorRefToken::DoubleVectorRefToken( FormulaToken* DoubleVectorRefToken::Clone() const { return new DoubleVectorRefToken( - maArrays, mnArrayLength, mnRefRowSize, mbStartFixed, mbEndFixed); + std::vector(maArrays), mnArrayLength, mnRefRowSize, mbStartFixed, mbEndFixed); } const std::vector<VectorRefArray>& DoubleVectorRefToken::GetArrays() const diff --git a/include/formula/vectortoken.hxx b/include/formula/vectortoken.hxx index 26830bf6588c..046d71faf3ee 100644 --- a/include/formula/vectortoken.hxx +++ b/include/formula/vectortoken.hxx @@ -91,7 +91,7 @@ class FORMULA_DLLPUBLIC DoubleVectorRefToken final : public FormulaToken public: DoubleVectorRefToken( - const std::vector<VectorRefArray>& rArrays, size_t nArrayLength, + std::vector<VectorRefArray>&& rArrays, size_t nArrayLength, size_t nRefRowSize, bool bStartFixed, bool bEndFixed ); virtual FormulaToken* Clone() const override; diff --git a/sc/source/core/data/grouptokenconverter.cxx b/sc/source/core/data/grouptokenconverter.cxx index 6b71284a9325..07fefbccbb55 100644 --- a/sc/source/core/data/grouptokenconverter.cxx +++ b/sc/source/core/data/grouptokenconverter.cxx @@ -257,7 +257,8 @@ bool ScGroupTokenConverter::convert( const ScTokenArray& rCode, sc::FormulaLogge aArrays.push_back(aArray); } - formula::DoubleVectorRefToken aTok(aArrays, nArrayLength, nRefRowSize, bAbsFirst, bAbsLast); + std::vector<formula::VectorRefArray> aArraysTmp = aArrays; + formula::DoubleVectorRefToken aTok( std::move(aArraysTmp), nArrayLength, nRefRowSize, bAbsFirst, bAbsLast ); mrGroupTokens.AddToken(aTok); rScope.addRefMessage(mrPos, aAbs.aStart, nRequestedLength, aArrays);