diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-02-26 14:32:57 -0500 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2014-02-28 17:16:49 +0100 |
commit | d1fc65581906ef0ce4c8e276ae67a35fb0fc6dfd (patch) | |
tree | efa6c7c02b023fe315067511661f6acbbd9a3d39 /formula/source | |
parent | 7da51df558c1fbc21188a0c58773ba549195ca5a (diff) |
Store the length of originally requested array size prior to trimming.
This change adds GetRequestedArrayLength() method to both single and double
vector ref tokens, which returns the length of the requested array size prior
to trimming of the trailing empty cell region.
Change-Id: Iaba96fa2ea4ff3c8bccb0bc86fa4f1525e2f45fb
Diffstat (limited to 'formula/source')
-rw-r--r-- | formula/source/core/api/vectortoken.cxx | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/formula/source/core/api/vectortoken.cxx b/formula/source/core/api/vectortoken.cxx index 961eda6d60c9..57476f4fb512 100644 --- a/formula/source/core/api/vectortoken.cxx +++ b/formula/source/core/api/vectortoken.cxx @@ -22,15 +22,15 @@ bool VectorRefArray::isValid() const return mpNumericArray || mpStringArray; } -SingleVectorRefToken::SingleVectorRefToken( const double* pArray, size_t nLength ) : - FormulaToken(svSingleVectorRef, ocPush), maArray(pArray), mnArrayLength(nLength) {} +SingleVectorRefToken::SingleVectorRefToken( const double* pArray, size_t nReqLength, size_t nArrayLength ) : + FormulaToken(svSingleVectorRef, ocPush), maArray(pArray), mnRequestedLength(nReqLength), mnArrayLength(nArrayLength) {} -SingleVectorRefToken::SingleVectorRefToken( const VectorRefArray& rArray, size_t nLength ) : - FormulaToken(svSingleVectorRef, ocPush), maArray(rArray), mnArrayLength(nLength) {} +SingleVectorRefToken::SingleVectorRefToken( const VectorRefArray& rArray, size_t nReqLength, size_t nArrayLength ) : + FormulaToken(svSingleVectorRef, ocPush), maArray(rArray), mnRequestedLength(nReqLength), mnArrayLength(nArrayLength) {} FormulaToken* SingleVectorRefToken::Clone() const { - return new SingleVectorRefToken(maArray, mnArrayLength); + return new SingleVectorRefToken(maArray, mnRequestedLength, mnArrayLength); } const VectorRefArray& SingleVectorRefToken::GetArray() const @@ -38,19 +38,27 @@ const VectorRefArray& SingleVectorRefToken::GetArray() const return maArray; } +size_t SingleVectorRefToken::GetRequestedArrayLength() const +{ + return mnRequestedLength; +} + size_t SingleVectorRefToken::GetArrayLength() const { return mnArrayLength; } DoubleVectorRefToken::DoubleVectorRefToken( - const std::vector<VectorRefArray>& rArrays, size_t nArrayLength, size_t nRefRowSize, bool bStartFixed, bool bEndFixed ) : + const std::vector<VectorRefArray>& rArrays, size_t nReqLength, size_t nArrayLength, + size_t nRefRowSize, bool bStartFixed, bool bEndFixed ) : FormulaToken(svDoubleVectorRef, ocPush), - maArrays(rArrays), mnArrayLength(nArrayLength), mnRefRowSize(nRefRowSize), mbStartFixed(bStartFixed), mbEndFixed(bEndFixed) {} + maArrays(rArrays), mnRequestedLength(nReqLength), mnArrayLength(nArrayLength), + mnRefRowSize(nRefRowSize), mbStartFixed(bStartFixed), mbEndFixed(bEndFixed) {} FormulaToken* DoubleVectorRefToken::Clone() const { - return new DoubleVectorRefToken(maArrays, mnArrayLength, mnRefRowSize, mbStartFixed, mbEndFixed); + return new DoubleVectorRefToken( + maArrays, mnRequestedLength, mnArrayLength, mnRefRowSize, mbStartFixed, mbEndFixed); } const std::vector<VectorRefArray>& DoubleVectorRefToken::GetArrays() const @@ -58,6 +66,11 @@ const std::vector<VectorRefArray>& DoubleVectorRefToken::GetArrays() const return maArrays; } +size_t DoubleVectorRefToken::GetRequestedArrayLength() const +{ + return mnRequestedLength; +} + size_t DoubleVectorRefToken::GetArrayLength() const { return mnArrayLength; |