LibreOffice Module sc (master) 1
Classes | Macros | Typedefs | Functions
token.hxx File Reference
#include <memory>
#include <vector>
#include <formula/opcode.hxx>
#include "refdata.hxx"
#include "scdllapi.h"
#include <formula/token.hxx>
#include "calcmacros.hxx"
#include "types.hxx"
Include dependency graph for token.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  ScSingleRefToken
class  ScDoubleRefToken
class  ScMatrixToken
class  ScMatrixRangeToken
 Token storing matrix that represents values in sheet range. More...
class  ScExternalSingleRefToken
class  ScExternalDoubleRefToken
class  ScExternalNameToken
class  ScTableRefToken
 Special token to remember details of ocTableRef "structured references". More...
class  ScJumpMatrixToken
class  ScRefListToken
class  ScEmptyCellToken
class  ScMatrixCellResultToken
 Transports the result from the interpreter to the formula cell. More...
class  ScMatrixFormulaCellToken
 Stores the matrix result at the formula cell, additionally the range the matrix formula occupies. More...
class  ScHybridCellToken
class  SingleDoubleRefModifier
class  SingleDoubleRefProvider




typedef ::std::vector< ScComplexRefDataScRefList


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. More...

Macro Definition Documentation



Definition at line 33 of file token.hxx.

Typedef Documentation

◆ ScRefList

typedef ::std::vector< ScComplexRefData > ScRefList

Definition at line 39 of file token.hxx.

Function Documentation

◆ extendRangeReference()

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.

rPosThe formula's position, used to calculate absolute positions from relative references.
bReuseDoubleRefIf true, a DoubleRef token is reused if passed as rTok1 or rTok2, else a new DoubleRef token is created and returned.
A reused or new'ed ScDoubleRefToken, or a NULL TokenRef if rTok1 or rTok2 are not of sv(Single|Double)Ref

Definition at line 504 of file token.cxx.

References formula::FormulaToken::Clone(), ScComplexRefData::Extend(), formula::FormulaToken::GetIndex(), formula::FormulaToken::GetRef(), formula::FormulaToken::GetRefList(), formula::FormulaToken::GetSingleRef(), formula::FormulaToken::GetString(), formula::FormulaToken::GetType(), i, ScSingleRefData::IsFlag3D(), p, pt, ScComplexRefData::Ref1, ScComplexRefData::Ref2, ScSingleRefData::SetFlag3D(), svDoubleRef, svExternalDoubleRef, svExternalSingleRef, svRefList, svSingleRef, and svUnknown.

Referenced by ScCompiler::ExtendRangeReference(), ScTokenArray::MergeRangeReference(), and ScInterpreter::ScRangeFunc().