summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-10-10 20:36:27 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-10-11 12:19:03 +0200
commit6a3cb1545290d822455b7c3259702a1d1afc8ef9 (patch)
tree343c657cf0968bae515929848ea95cf8e6fd10e4
parentea014c324a9f5fff344c3fccdfcb0e5bcbe75d81 (diff)
loplugin:moveparam in formula
Change-Id: I358f5e8031c235be76bb96591bf33f59a39b00ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123350 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--formula/source/core/api/vectortoken.cxx6
-rw-r--r--include/formula/vectortoken.hxx2
-rw-r--r--sc/source/core/data/grouptokenconverter.cxx3
3 files changed, 6 insertions, 5 deletions
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);