33#define MATRIX_TOKEN_HAS_RANGE 1
41#if DEBUG_FORMULA_COMPILER
145 virtual sal_uInt16
GetIndex()
const override;
169 virtual sal_uInt16
GetIndex()
const override;
196 virtual sal_uInt16
GetIndex()
const override;
224 virtual sal_uInt16
GetIndex()
const override;
225 virtual void SetIndex( sal_uInt16 n )
override;
226 virtual sal_Int16
GetSheet()
const override;
287 virtual double GetDouble()
const override;
307 virtual double GetDouble()
const override;
387 double f,
const svl::SharedString & rStr, OUString aFormula,
bool bEmptyDisplayedAsString );
391 virtual double GetDouble()
const override;
448 :
Ref1( *r.GetSingleRef() ),
ScDoubleRefToken(ScSheetLimits &rLimits, const ScComplexRefData &r, OpCode e=ocPush)
virtual const ScComplexRefData * GetDoubleRef() const override
virtual bool TextEqual(const formula::FormulaToken &rToken) const override
virtual const ScSingleRefData * GetSingleRef() const override
virtual FormulaToken * Clone() const override
ScSheetLimits & mrSheetLimits
ScComplexRefData aDoubleRef
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual const ScSingleRefData * GetSingleRef2() const override
virtual FormulaToken * Clone() const override
ScEmptyCellToken(bool bInheritedP, bool bDisplayAsString)
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual double GetDouble() const override
bool IsDisplayedAsString() const
virtual const svl::SharedString & GetString() const override
virtual const svl::SharedString & GetString() const override
virtual const ScSingleRefData * GetSingleRef2() const override
ScExternalDoubleRefToken(ScExternalDoubleRefToken &&)=default
ScExternalDoubleRefToken & operator=(ScExternalDoubleRefToken const &)=delete
svl::SharedString maTabName
ScComplexRefData maDoubleRef
virtual FormulaToken * Clone() const override
virtual sal_uInt16 GetIndex() const override
ScExternalDoubleRefToken(ScExternalDoubleRefToken const &)=default
virtual const ScSingleRefData * GetSingleRef() const override
ScExternalDoubleRefToken()=delete
virtual ~ScExternalDoubleRefToken() override
virtual const ScComplexRefData * GetDoubleRef() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
ScExternalNameToken(ScExternalNameToken &&)=default
virtual const svl::SharedString & GetString() const override
ScExternalNameToken()=delete
virtual FormulaToken * Clone() const override
virtual ~ScExternalNameToken() override
ScExternalNameToken(ScExternalNameToken const &)=default
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual sal_uInt16 GetIndex() const override
ScExternalNameToken & operator=(ScExternalNameToken const &)=delete
ScExternalSingleRefToken(ScExternalSingleRefToken const &)=default
ScSingleRefData maSingleRef
virtual FormulaToken * Clone() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
ScExternalSingleRefToken & operator=(ScExternalSingleRefToken const &)=delete
virtual const ScSingleRefData * GetSingleRef() const override
virtual const svl::SharedString & GetString() const override
svl::SharedString maTabName
ScExternalSingleRefToken(ScExternalSingleRefToken &&)=default
virtual ~ScExternalSingleRefToken() override
ScExternalSingleRefToken()=delete
virtual sal_uInt16 GetIndex() const override
const OUString & GetFormula() const
ScHybridCellToken(double f, const svl::SharedString &rStr, OUString aFormula, bool bEmptyDisplayedAsString)
virtual double GetDouble() const override
bool IsEmptyDisplayedAsString() const
virtual const svl::SharedString & GetString() const override
svl::SharedString maString
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual FormulaToken * Clone() const override
bool mbEmptyDisplayedAsString
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual FormulaToken * Clone() const override
virtual ~ScJumpMatrixToken() override
ScJumpMatrixToken(std::shared_ptr< ScJumpMatrix > p)
ScJumpMatrixToken(const ScJumpMatrixToken &)
virtual ScJumpMatrix * GetJumpMatrix() const override
std::shared_ptr< ScJumpMatrix > mpJumpMatrix
Transports the result from the interpreter to the formula cell.
ScMatrixCellResultToken(ScConstMatrixRef pMat, const formula::FormulaToken *pUL)
virtual const svl::SharedString & GetString() const override
formula::StackVar GetUpperLeftType() const
const formula::FormulaConstTokenRef & GetUpperLeftToken() const
virtual FormulaToken * Clone() const override
virtual ~ScMatrixCellResultToken() override
void Assign(const ScMatrixCellResultToken &r)
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual double GetDouble() const override
virtual ScMatrix * GetMatrix() override
ScMatrixCellResultToken(const ScMatrixCellResultToken &)
formula::FormulaConstTokenRef xUpperLeft
Token storing matrix that represents values in sheet range.
virtual const ScMatrix * GetMatrix() const override
ScMatrixRangeToken(const ScMatrixRangeToken &)
virtual bool operator==(const formula::FormulaToken &rToken) const override
ScMatrixRangeToken(const sc::RangeMatrix &rMat)
virtual sal_uInt8 GetByte() const override
virtual FormulaToken * Clone() const override
virtual const ScComplexRefData * GetDoubleRef() const override
virtual const ScMatrix * GetMatrix() const override
ScMatrixToken(ScMatrixRef p)
virtual FormulaToken * Clone() const override
ScMatrixToken(const ScMatrixToken &)
virtual bool operator==(const formula::FormulaToken &rToken) const override
Matrix data type that can store values of mixed types.
virtual bool operator==(const formula::FormulaToken &rToken) const override
ScRefListToken(bool bArrayResult)
bool IsArrayResult() const
virtual FormulaToken * Clone() const override
virtual const ScRefList * GetRefList() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
ScSingleRefData aSingleRef
virtual const ScSingleRefData * GetSingleRef() const override
virtual bool TextEqual(const formula::FormulaToken &rToken) const override
ScSingleRefToken(ScSheetLimits &rLimits, const ScSingleRefData &r, OpCode e=ocPush)
virtual FormulaToken * Clone() const override
ScSheetLimits & mrSheetLimits
Special token to remember details of ocTableRef "structured references".
virtual FormulaToken * Clone() const override
sal_uInt16 mnIndex
index into table / database range collection
virtual sal_uInt16 GetIndex() const override
void SetAreaRefRPN(formula::FormulaToken *pToken)
formula::FormulaTokenRef mxAreaRefRPN
resulting RPN area
formula::FormulaToken * GetAreaRefRPN() const
virtual void SetIndex(sal_uInt16 n) override
virtual sal_Int16 GetSheet() const override
virtual ~ScTableRefToken() override
virtual bool operator==(const formula::FormulaToken &rToken) const override
SingleDoubleRefModifier(ScSingleRefData &rS)
SingleDoubleRefModifier(const SingleDoubleRefModifier &)=delete
SingleDoubleRefModifier & operator=(const SingleDoubleRefModifier &)=delete
SingleDoubleRefModifier(formula::FormulaToken &rT)
~SingleDoubleRefModifier()
SingleDoubleRefProvider(const formula::FormulaToken &r)
const ScSingleRefData & Ref2
const ScSingleRefData & Ref1
Complex reference (a range) into the sheet.
Single reference (one address) into the sheet.
formula::FormulaTokenRef extendRangeReference(ScSheetLimits &rLimits, formula::FormulaToken &rTok1, formula::FormulaToken &rTok2, const ScAddress &rPos, bool bReuseDoubleRef)
If rTok1 and rTok2 both are SingleRef or DoubleRef tokens, extend/merge ranges as needed for ocRange.
::std::vector< ScComplexRefData > ScRefList
::boost::intrusive_ptr< const ScMatrix > ScConstMatrixRef
::boost::intrusive_ptr< ScMatrix > ScMatrixRef