20 #ifndef INCLUDED_SC_INC_TOKENARRAY_HXX
21 #define INCLUDED_SC_INC_TOKENARRAY_HXX
24 #include <rtl/ref.hxx>
35 struct RefUpdateContext;
36 struct RefUpdateInsertTabContext;
37 struct RefUpdateDeleteTabContext;
38 struct RefUpdateMoveTabContext;
39 struct RefUpdateResult;
40 struct TokenStringContext;
41 class ColRowReorderMapType;
53 bool ImplGetReference(
ScRange& rRange,
const ScAddress& rPos,
bool bValidOnly )
const;
59 bool mbOpenCLEnabled : 1;
60 bool mbThreadingEnabled : 1;
74 virtual void Clear()
override;
75 std::unique_ptr<ScTokenArray>
Clone()
const;
78 size_t GetHash()
const {
return mnHashValue;}
81 void ResetVectorState();
82 bool IsFormulaVectorDisabled()
const;
88 bool IsInvariant()
const;
98 bool GetAdjacentExtendOfOuterFuncRefs(
104 const css::sheet::FormulaToken& rToken,
114 void AddRangeName( sal_uInt16 n, sal_Int16 nSheet );
129 void AssignXMLString(
const OUString &rText,
const OUString &rFormulaNmsp );
154 void AdjustSheetLocalNameReferences(
SCTAB nOldTab,
SCTAB nNewTab );
159 bool ReferencesSheet(
SCTAB nTab,
SCTAB nPosTab )
const;
183 void MoveReferenceColReorder(
187 void MoveReferenceRowReorder(
221 void AdjustReferenceOnMovedOrigin(
const ScAddress& rOldPos,
const ScAddress& rNewPos );
227 void AdjustReferenceOnMovedOriginIfOtherSheet(
const ScAddress& rOldPos,
const ScAddress& rNewPos );
233 void AdjustReferenceOnCopy(
const ScAddress& rNewPos );
247 void CheckRelativeReferenceBounds(
250 void CheckRelativeReferenceBounds(
253 void CheckExpandReferenceBounds(
265 sal_Int32 GetWeight()
const;
270 #if DEBUG_FORMULA_COMPILER
275 #endif // INCLUDED_SC_INC_TOKENARRAY_HXX
Single reference (one address) into the sheet.
Context for reference update during shifting, moving or copying of cell ranges.
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
ScFormulaVectorState GetVectorState() const
::boost::intrusive_ptr< ScMatrix > ScMatrixRef
bool IsEnabledForOpenCL() const
bool IsEnabledForThreading() const
Reference< XAnimationNode > Clone(const Reference< XAnimationNode > &xSourceNode, const SdPage *pSource, const SdPage *pTarget)
Context for creating string from an array of formula tokens, used in ScTokenArray::CreateString().
rtl::Reference< ScSheetLimits > mxSheetLimits
Complex reference (a range) into the sheet.
ScFormulaVectorState
When vectorization is enabled, we could potentially mass-calculate a series of formula token arrays i...
bool IsReference(const OUString &rSymbol, const OUString *pErrRef=nullptr)