diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-09-04 15:14:47 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-09-06 01:38:31 -0400 |
commit | 69047ec117cd2e0885efec1824e9c00555da4800 (patch) | |
tree | 6e5f0c29813a91ac4239e80d97789f43e364515d /sc/inc/token.hxx | |
parent | 2d8a60e517c35276051a82b569515b49896b5be9 (diff) |
Correctly handle implicit intersection in group interpretation.
Change-Id: I2ea6f41ad4036a6f3f5d99097e83fd988aacd105
Diffstat (limited to 'sc/inc/token.hxx')
-rw-r--r-- | sc/inc/token.hxx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sc/inc/token.hxx b/sc/inc/token.hxx index 9603a8729e9b..32cdf5ad1869 100644 --- a/sc/inc/token.hxx +++ b/sc/inc/token.hxx @@ -33,6 +33,9 @@ #include "scmatrix.hxx" #include "calcmacros.hxx" +// Matrix token constants. +#define MATRIX_TOKEN_HAS_RANGE 1 + class ScJumpMatrix; typedef ::std::vector< ScComplexRefData > ScRefList; @@ -176,6 +179,27 @@ public: virtual FormulaToken* Clone() const { return new ScMatrixToken(*this); } }; +/** + * Token storing matrix that represents values in sheet range. It stores + * both the values in matrix form, and the range address the matrix + * represents. + */ +class ScMatrixRangeToken : public ScToken +{ + ScMatrixRef mpMatrix; + ScComplexRefData maRef; +public: + ScMatrixRangeToken( const ScMatrixRef& p, const ScComplexRefData& rRef ); + ScMatrixRangeToken( const ScMatrixRangeToken& r ); + + virtual sal_uInt8 GetByte() const; + virtual const ScMatrix* GetMatrix() const; + virtual ScMatrix* GetMatrix(); + virtual const ScComplexRefData& GetDoubleRef() const; + virtual ScComplexRefData& GetDoubleRef(); + virtual bool operator==( const formula::FormulaToken& rToken ) const; + virtual FormulaToken* Clone() const; +}; class ScExternalSingleRefToken : public ScToken { |