20 #ifndef INCLUDED_SC_INC_TOKEN_HXX
21 #define INCLUDED_SC_INC_TOKEN_HXX
34 #define MATRIX_TOKEN_HAS_RANGE 1
40 typedef ::std::vector< ScComplexRefData >
ScRefList;
42 #if DEBUG_FORMULA_COMPILER
146 virtual sal_uInt16
GetIndex()
const override;
170 virtual sal_uInt16
GetIndex()
const override;
197 virtual sal_uInt16
GetIndex()
const override;
225 virtual sal_uInt16
GetIndex()
const override;
226 virtual void SetIndex( sal_uInt16 n )
override;
227 virtual sal_Int16
GetSheet()
const override;
288 virtual double GetDouble()
const override;
308 virtual double GetDouble()
const override;
316 xUpperLeft->GetType() :
388 double f,
const svl::SharedString & rStr,
const OUString & rFormula,
bool bEmptyDisplayedAsString );
392 virtual double GetDouble()
const override;
449 : Ref1( *r.GetSingleRef() ),
452 r.GetDoubleRef()->Ref2 : Ref1 )
sal_uInt16 mnIndex
index into table / database range collection
const ScSingleRefData & Ref2
Matrix data type that can store values of mixed types.
void SetAreaRefRPN(formula::FormulaToken *pToken)
ScSheetLimits & mrSheetLimits
formula::StackVar GetUpperLeftType() const
virtual const ScComplexRefData * GetDoubleRef() const override
virtual ~ScMatrixCellResultToken() override
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual const svl::SharedString & GetString() const override
virtual double GetDouble() const override
SingleDoubleRefProvider(const formula::FormulaToken &r)
std::shared_ptr< ScJumpMatrix > mpJumpMatrix
virtual bool operator==(const formula::FormulaToken &rToken) const override
svl::SharedString maTabName
virtual const svl::SharedString & GetString() const override
Single reference (one address) into the sheet.
virtual const ScSingleRefData * GetSingleRef() const override
virtual FormulaToken * Clone() const override
virtual ~ScExternalSingleRefToken() override
virtual const ScSingleRefData * GetSingleRef2() const override
ScExternalDoubleRefToken & operator=(ScExternalDoubleRefToken const &)=delete
virtual sal_uInt16 GetIndex() const override
virtual const ScSingleRefData * GetSingleRef() const override
formula::FormulaTokenRef mxAreaRefRPN
resulting RPN area
ScSingleRefToken(ScSheetLimits &rLimits, const ScSingleRefData &r, OpCode e=ocPush)
ScExternalDoubleRefToken()=delete
virtual const svl::SharedString & GetString() const override
const ScSingleRefData & Ref1
ScComplexRefData aDoubleRef
ScRefListToken(bool bArrayResult)
virtual const svl::SharedString & GetString() const override
virtual const ScSingleRefData * GetSingleRef() const override
virtual sal_uInt16 GetIndex() const override
virtual FormulaToken * Clone() const override
Token storing matrix that represents values in sheet range.
virtual FormulaToken * Clone() const override
virtual const ScComplexRefData * GetDoubleRef() const override
svl::SharedString maString
Transports the result from the interpreter to the formula cell.
ScEmptyCellToken(bool bInheritedP, bool bDisplayAsString)
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual double GetDouble() const override
virtual ScMatrix * GetMatrix() override
virtual sal_Int16 GetSheet() const override
ScExternalNameToken()=delete
ScExternalSingleRefToken()=delete
::boost::intrusive_ptr< ScMatrix > ScMatrixRef
Special token to remember details of ocTableRef "structured references".
virtual FormulaToken * Clone() const override
virtual FormulaToken * Clone() const override
ScMatrixRangeToken(const sc::RangeMatrix &rMat)
ScDoubleRefToken(ScSheetLimits &rLimits, const ScComplexRefData &r, OpCode e=ocPush)
virtual ~ScExternalNameToken() override
ScJumpMatrixToken(std::shared_ptr< ScJumpMatrix > p)
SingleDoubleRefModifier(ScSingleRefData &rS)
virtual void SetIndex(sal_uInt16 n) override
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual sal_uInt16 GetIndex() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual const ScSingleRefData * GetSingleRef() const override
SingleDoubleRefModifier(formula::FormulaToken &rT)
virtual bool operator==(const formula::FormulaToken &rToken) const override
const formula::FormulaConstTokenRef & GetUpperLeftToken() const
ScExternalNameToken & operator=(ScExternalNameToken const &)=delete
ScComplexRefData maDoubleRef
virtual FormulaToken * Clone() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
formula::FormulaToken * GetAreaRefRPN() const
virtual double GetDouble() const override
virtual FormulaToken * Clone() const override
virtual const ScRefList * GetRefList() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
ScExternalSingleRefToken & operator=(ScExternalSingleRefToken const &)=delete
virtual bool operator==(const formula::FormulaToken &rToken) const override
ScMatrixCellResultToken(const ScConstMatrixRef &pMat, const formula::FormulaToken *pUL)
virtual FormulaToken * Clone() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
virtual const ScMatrix * GetMatrix() const override
virtual FormulaToken * Clone() const override
virtual bool operator==(const formula::FormulaToken &rToken) const override
svl::SharedString maTabName
virtual ~ScExternalDoubleRefToken() override
virtual const ScSingleRefData * GetSingleRef2() const override
ScMatrixToken(const ScMatrixRef &p)
virtual ~ScTableRefToken() override
virtual bool operator==(const formula::FormulaToken &rToken) const override
SingleDoubleRefModifier(const SingleDoubleRefModifier &)=delete
virtual sal_uInt8 GetByte() const override
~SingleDoubleRefModifier()
virtual bool TextEqual(const formula::FormulaToken &rToken) const override
virtual FormulaToken * Clone() const override
void Assign(const ScMatrixCellResultToken &r)
virtual sal_uInt16 GetIndex() const override
::boost::intrusive_ptr< const ScMatrix > ScConstMatrixRef
virtual const ScMatrix * GetMatrix() const override
virtual FormulaToken * Clone() const override
SingleDoubleRefModifier & operator=(const SingleDoubleRefModifier &)=delete
bool IsDisplayedAsString() const
virtual const svl::SharedString & GetString() const override
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...
Complex reference (a range) into the sheet.
virtual FormulaToken * Clone() const override
virtual bool TextEqual(const formula::FormulaToken &rToken) const override
virtual FormulaToken * Clone() const override
virtual ScJumpMatrix * GetJumpMatrix() const override
ScHybridCellToken(double f, const svl::SharedString &rStr, const OUString &rFormula, bool bEmptyDisplayedAsString)
virtual const ScComplexRefData * GetDoubleRef() const override
formula::FormulaConstTokenRef xUpperLeft
virtual bool operator==(const formula::FormulaToken &rToken) const override
::std::vector< ScComplexRefData > ScRefList
bool IsArrayResult() const
ScSingleRefData maSingleRef
virtual ~ScJumpMatrixToken() override
ScSingleRefData aSingleRef
ScSheetLimits & mrSheetLimits
const OUString & GetFormula() const
bool IsEmptyDisplayedAsString() const
virtual const svl::SharedString & GetString() const override
bool mbEmptyDisplayedAsString