diff options
author | Eike Rathke <erack@redhat.com> | 2017-05-19 19:20:27 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-05-22 11:00:56 +0200 |
commit | 6a569fd47e3665b0aaec397ace0346938bb3b4bf (patch) | |
tree | db5e9421d4ea7dc7a1d2bbdf1666f77152feabb4 | |
parent | 118401aae4516bf4cc122e96b376d129ab3a3d5e (diff) |
Introduce ScJumpMatrix::mvRefList for array of reference results, tdf#58874
Change-Id: I478ddbcd951b386b8d4cbb38059b904af7c79703
-rw-r--r-- | sc/source/core/inc/jumpmatrix.hxx | 3 | ||||
-rw-r--r-- | sc/source/core/tool/jumpmatrix.cxx | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sc/source/core/inc/jumpmatrix.hxx b/sc/source/core/inc/jumpmatrix.hxx index 94b8dc1737aa..1c61b330108d 100644 --- a/sc/source/core/inc/jumpmatrix.hxx +++ b/sc/source/core/inc/jumpmatrix.hxx @@ -26,6 +26,7 @@ #include <vector> #include "types.hxx" #include "address.hxx" +#include "token.hxx" typedef ::std::vector< const formula::FormulaToken*> ScTokenVec; @@ -58,6 +59,7 @@ class ScJumpMatrix { std::vector<ScJumpMatrixEntry> mvJump; // the jumps ScMatrixRef pMat; // the results + ScRefList mvRefList; // array of references result, if any ScTokenVec* pParams; // parameter stack SCSIZE nCols; SCSIZE nRows; @@ -108,6 +110,7 @@ public: bool Next( SCSIZE& rCol, SCSIZE& rRow ); void GetResMatDimensions( SCSIZE& rCols, SCSIZE& rRows ); void SetNewResMat( SCSIZE nNewCols, SCSIZE nNewRows ); + ScRefList& GetRefList(); void PutResultDouble( double fVal, SCSIZE nC, SCSIZE nR ); void PutResultString( const svl::SharedString& rStr, SCSIZE nC, SCSIZE nR ); diff --git a/sc/source/core/tool/jumpmatrix.cxx b/sc/source/core/tool/jumpmatrix.cxx index 760f89735db6..cc7455f42a5d 100644 --- a/sc/source/core/tool/jumpmatrix.cxx +++ b/sc/source/core/tool/jumpmatrix.cxx @@ -176,6 +176,11 @@ bool ScJumpMatrix::HasResultMatrix() const return pMat.get() != nullptr; } +ScRefList& ScJumpMatrix::GetRefList() +{ + return mvRefList; +} + void ScJumpMatrix::FlushBufferOtherThan( ScJumpMatrix::BufferType eType, SCSIZE nC, SCSIZE nR ) { if (!mvBufferDoubles.empty() && |