[Libreoffice-commits] core.git: Branch 'feature/formula-core-rework' - formula/source include/formula sc/source
Kohei Yoshida
kohei.yoshida at gmail.com
Mon Apr 29 14:28:06 PDT 2013
formula/source/core/api/vectortoken.cxx | 20 +++++++++++---------
include/formula/vectortoken.hxx | 17 ++++++-----------
sc/source/core/data/formulacell.cxx | 4 ++--
3 files changed, 19 insertions(+), 22 deletions(-)
New commits:
commit 7b7f0ae1417ea9acade4c45d6500c5ec3530aed4
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date: Mon Apr 29 17:30:23 2013 -0400
Let's not use VectorArray struct. There is no use for it.
Change-Id: Ic011143206c13fcbc1b3403bf5b7df46c6934899
diff --git a/formula/source/core/api/vectortoken.cxx b/formula/source/core/api/vectortoken.cxx
index 94a071c..e016fd3 100644
--- a/formula/source/core/api/vectortoken.cxx
+++ b/formula/source/core/api/vectortoken.cxx
@@ -11,24 +11,26 @@
namespace formula {
-VectorArray::VectorArray( const double* pArray, size_t nLength ) :
- mpArray(pArray), mnLength(nLength) {}
-
SingleVectorRefToken::SingleVectorRefToken( const double* pArray, size_t nLength ) :
- FormulaToken(svSingleVectorRef, ocPush), maArray(pArray, nLength) {}
+ FormulaToken(svSingleVectorRef, ocPush), mpArray(pArray), mnLength(nLength) {}
FormulaToken* SingleVectorRefToken::Clone() const
{
- return new SingleVectorRefToken(maArray.mpArray, maArray.mnLength);
+ return new SingleVectorRefToken(mpArray, mnLength);
+}
+
+const double* SingleVectorRefToken::GetArray() const
+{
+ return mpArray;
}
-const VectorArray& SingleVectorRefToken::GetArray() const
+size_t SingleVectorRefToken::GetLength() const
{
- return maArray;
+ return mnLength;
}
DoubleVectorRefToken::DoubleVectorRefToken(
- const std::vector<VectorArray>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd ) :
+ const std::vector<const double*>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd ) :
FormulaToken(svDoubleVectorRef, ocPush),
maArrays(rArrays), mnRowSize(nRowSize), mbAbsStart(bAbsStart), mbAbsEnd(bAbsEnd) {}
@@ -37,7 +39,7 @@ FormulaToken* DoubleVectorRefToken::Clone() const
return new DoubleVectorRefToken(maArrays, mnRowSize, mbAbsStart, mbAbsEnd);
}
-const std::vector<VectorArray>& DoubleVectorRefToken::GetArrays() const
+const std::vector<const double*>& DoubleVectorRefToken::GetArrays() const
{
return maArrays;
}
diff --git a/include/formula/vectortoken.hxx b/include/formula/vectortoken.hxx
index 82051d4..db44355 100644
--- a/include/formula/vectortoken.hxx
+++ b/include/formula/vectortoken.hxx
@@ -14,23 +14,18 @@
namespace formula {
-struct VectorArray
+class FORMULA_DLLPUBLIC SingleVectorRefToken : public FormulaToken
{
const double* mpArray;
size_t mnLength;
- VectorArray( const double* pArray, size_t nLength );
-};
-
-class FORMULA_DLLPUBLIC SingleVectorRefToken : public FormulaToken
-{
- const VectorArray maArray;
public:
SingleVectorRefToken( const double* pArray, size_t nLength );
virtual FormulaToken* Clone() const;
- const VectorArray& GetArray() const;
+ const double* GetArray() const;
+ size_t GetLength() const;
};
/**
@@ -39,7 +34,7 @@ public:
*/
class FORMULA_DLLPUBLIC DoubleVectorRefToken : public FormulaToken
{
- std::vector<VectorArray> maArrays;
+ std::vector<const double*> maArrays;
size_t mnRowSize;
@@ -48,11 +43,11 @@ class FORMULA_DLLPUBLIC DoubleVectorRefToken : public FormulaToken
public:
DoubleVectorRefToken(
- const std::vector<VectorArray>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd );
+ const std::vector<const double*>& rArrays, size_t nRowSize, bool bAbsStart, bool bAbsEnd );
virtual FormulaToken* Clone() const;
- const std::vector<VectorArray>& GetArrays() const;
+ const std::vector<const double*>& GetArrays() const;
};
}
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 5753e44..ba039b6 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -3063,8 +3063,8 @@ bool ScFormulaCell::InterpretFormulaGroup()
case svSingleVectorRef:
{
const formula::SingleVectorRefToken* p2 = static_cast<const formula::SingleVectorRefToken*>(p);
- const formula::VectorArray& rArray = p2->GetArray();
- aCode2.AddDouble(rArray.mpArray[i]);
+ const double* pArray = p2->GetArray();
+ aCode2.AddDouble(pArray[i]);
}
break;
case svDoubleVectorRef:
More information about the Libreoffice-commits
mailing list