summaryrefslogtreecommitdiff
path: root/sc/inc/scmatrix.hxx
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-08-23 00:28:33 +0200
committerEike Rathke <erack@redhat.com>2016-08-23 00:30:47 +0200
commit31d39c24e1ff2d3602e0212eeeecd8de88da6d38 (patch)
treeda7a5995b7c250abbc86f8b2d3d6a87a37c2f6ed /sc/inc/scmatrix.hxx
parentd133075affa49f387e73acee24a608075829f3b4 (diff)
Resolves: tdf#101137 handle empty elements in matrix concatenation
Change-Id: I2de90e1cdfc4f215f6d7c644e0ab74372a4c2639
Diffstat (limited to 'sc/inc/scmatrix.hxx')
-rw-r--r--sc/inc/scmatrix.hxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx
index a5c810fed308..62cddee992ab 100644
--- a/sc/inc/scmatrix.hxx
+++ b/sc/inc/scmatrix.hxx
@@ -127,6 +127,7 @@ public:
typedef std::function<void(size_t, size_t, double)> DoubleOpFunction;
typedef std::function<void(size_t, size_t, bool)> BoolOpFunction;
typedef std::function<void(size_t, size_t, svl::SharedString)> StringOpFunction;
+ typedef std::function<void(size_t, size_t)> EmptyOpFunction;
/**
* When adding all numerical matrix elements for a scalar result such as
@@ -407,7 +408,8 @@ public:
virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) = 0;
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
- DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const = 0;
+ DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
+ EmptyOpFunction aEmptyFunc) const = 0;
virtual void MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef& xMat1, const ScMatrixRef& xMat2,
SvNumberFormatter& rFormatter, svl::SharedStringPool& rPool) = 0;
@@ -620,7 +622,8 @@ public:
virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
- DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const override;
+ DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
+ EmptyOpFunction aEmptyFunc) const override;
ScFullMatrix& operator+= ( const ScFullMatrix& r );
virtual void MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef& xMat1, const ScMatrixRef& xMat2,
@@ -835,7 +838,8 @@ public:
virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
- DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const override;
+ DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
+ EmptyOpFunction aEmptyFunc) const override;
ScVectorRefMatrix& operator+=(const ScVectorRefMatrix& r);