LibreOffice Module sc (master) 1
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
xlformula.hxx File Reference
#include <osl/diagnose.h>
#include <formula/opcode.hxx>
#include <address.hxx>
#include "ftools.hxx"
#include <map>
#include <memory>
Include dependency graph for xlformula.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  XclFuncParamInfo
 Structure that contains all needed information for a parameter in a function. More...
 
struct  XclFunctionInfo
 Represents information for a spreadsheet function for import and export. More...
 
class  XclFunctionProvider
 Provides access to function info structs for all available functions. More...
 
class  XclTokenArray
 Binary representation of an Excel token array. More...
 
class  XclTokenArrayIterator
 Special token array iterator for the Excel filters. More...
 
struct  XclMultipleOpRefs
 Contains all cell references that can be extracted from a multiple operations formula. More...
 
class  XclTokenArrayHelper
 A helper with Excel specific token array functions. More...
 

Namespaces

namespace  svl
 These need to be in global namespace just like their respective types are.
 
namespace  formula
 

Typedefs

typedef std::shared_ptr< XclTokenArrayXclTokenArrayRef
 

Enumerations

enum  XclFormulaType {
  EXC_FMLATYPE_CELL ,
  EXC_FMLATYPE_MATRIX ,
  EXC_FMLATYPE_SHARED ,
  EXC_FMLATYPE_CONDFMT ,
  EXC_FMLATYPE_DATAVAL ,
  EXC_FMLATYPE_NAME ,
  EXC_FMLATYPE_CHART ,
  EXC_FMLATYPE_CONTROL ,
  EXC_FMLATYPE_WQUERY ,
  EXC_FMLATYPE_LISTVAL
}
 Mask for number of appended ranges. More...
 
enum  XclFuncParamValidity {
  EXC_PARAM_NONE = 0 ,
  EXC_PARAM_REGULAR ,
  EXC_PARAM_CALCONLY ,
  EXC_PARAM_EXCELONLY
}
 Enumerates validity modes for a function parameter. More...
 
enum  XclFuncParamConv {
  EXC_PARAMCONV_ORG ,
  EXC_PARAMCONV_VAL ,
  EXC_PARAMCONV_ARR ,
  EXC_PARAMCONV_RPT ,
  EXC_PARAMCONV_RPX ,
  EXC_PARAMCONV_RPO
}
 Enumerates different types of token class conversion in function parameters. More...
 

Functions

XclImpStreamoperator>> (XclImpStream &rStrm, XclTokenArray &rTokArr)
 Calls the Read() function at the passed token array. More...
 
XclExpStreamoperator<< (XclExpStream &rStrm, const XclTokenArray &rTokArr)
 Calls the Write() function at the passed token array. More...
 
XclExpStreamoperator<< (XclExpStream &rStrm, const XclTokenArrayRef &rxTokArr)
 Calls the Write() function at the passed token array. More...
 

Variables

const size_t EXC_TOKARR_MAXLEN = 4096
 
const sal_uInt8 EXC_TOKCLASS_MASK = 0x60
 Maximum size of a token array. More...
 
const sal_uInt8 EXC_TOKCLASS_NONE = 0x00
 
const sal_uInt8 EXC_TOKCLASS_REF = 0x20
 00-1F: Base tokens. More...
 
const sal_uInt8 EXC_TOKCLASS_VAL = 0x40
 20-3F: Reference class tokens. More...
 
const sal_uInt8 EXC_TOKCLASS_ARR = 0x60
 40-5F: Value class tokens. More...
 
const sal_uInt8 EXC_TOKID_MASK = 0x1F
 60-7F: Array class tokens. More...
 
const sal_uInt8 EXC_TOKID_NONE = 0x00
 
const sal_uInt8 EXC_TOKID_EXP = 0x01
 Placeholder for invalid token id. More...
 
const sal_uInt8 EXC_TOKID_TBL = 0x02
 Array or shared formula reference. More...
 
const sal_uInt8 EXC_TOKID_ADD = 0x03
 Multiple operation reference. More...
 
const sal_uInt8 EXC_TOKID_SUB = 0x04
 Addition operator. More...
 
const sal_uInt8 EXC_TOKID_MUL = 0x05
 Subtraction operator. More...
 
const sal_uInt8 EXC_TOKID_DIV = 0x06
 Multiplication operator. More...
 
const sal_uInt8 EXC_TOKID_POWER = 0x07
 Division operator. More...
 
const sal_uInt8 EXC_TOKID_CONCAT = 0x08
 Power operator. More...
 
const sal_uInt8 EXC_TOKID_LT = 0x09
 String concatenation operator. More...
 
const sal_uInt8 EXC_TOKID_LE = 0x0A
 Less than operator. More...
 
const sal_uInt8 EXC_TOKID_EQ = 0x0B
 Less than or equal operator. More...
 
const sal_uInt8 EXC_TOKID_GE = 0x0C
 Equal operator. More...
 
const sal_uInt8 EXC_TOKID_GT = 0x0D
 Greater than or equal operator. More...
 
const sal_uInt8 EXC_TOKID_NE = 0x0E
 Greater than operator. More...
 
const sal_uInt8 EXC_TOKID_ISECT = 0x0F
 Not equal operator. More...
 
const sal_uInt8 EXC_TOKID_LIST = 0x10
 Intersection operator. More...
 
const sal_uInt8 EXC_TOKID_RANGE = 0x11
 List operator. More...
 
const sal_uInt8 EXC_TOKID_UPLUS = 0x12
 Range operator. More...
 
const sal_uInt8 EXC_TOKID_UMINUS = 0x13
 Unary plus. More...
 
const sal_uInt8 EXC_TOKID_PERCENT = 0x14
 Unary minus. More...
 
const sal_uInt8 EXC_TOKID_PAREN = 0x15
 Percent sign. More...
 
const sal_uInt8 EXC_TOKID_MISSARG = 0x16
 Parentheses. More...
 
const sal_uInt8 EXC_TOKID_STR = 0x17
 Missing argument. More...
 
const sal_uInt8 EXC_TOKID_NLR = 0x18
 String constant. More...
 
const sal_uInt8 EXC_TOKID_ATTR = 0x19
 Natural language reference (NLR). More...
 
const sal_uInt8 EXC_TOKID_SHEET = 0x1A
 Special attribute. More...
 
const sal_uInt8 EXC_TOKID_ENDSHEET = 0x1B
 Start of a sheet reference (BIFF2-BIFF4). More...
 
const sal_uInt8 EXC_TOKID_ERR = 0x1C
 End of a sheet reference (BIFF2-BIFF4). More...
 
const sal_uInt8 EXC_TOKID_BOOL = 0x1D
 Error constant. More...
 
const sal_uInt8 EXC_TOKID_INT = 0x1E
 Boolean constant. More...
 
const sal_uInt8 EXC_TOKID_NUM = 0x1F
 Integer constant. More...
 
const sal_uInt8 EXC_TOKID_ARRAY = 0x00
 Floating-point constant. More...
 
const sal_uInt8 EXC_TOKID_FUNC = 0x01
 Array constant. More...
 
const sal_uInt8 EXC_TOKID_FUNCVAR = 0x02
 Function, fixed number of arguments. More...
 
const sal_uInt8 EXC_TOKID_NAME = 0x03
 Function, variable number of arguments. More...
 
const sal_uInt8 EXC_TOKID_REF = 0x04
 Defined name. More...
 
const sal_uInt8 EXC_TOKID_AREA = 0x05
 2D cell reference. More...
 
const sal_uInt8 EXC_TOKID_MEMAREA = 0x06
 2D area reference. More...
 
const sal_uInt8 EXC_TOKID_MEMERR = 0x07
 Constant reference subexpression. More...
 
const sal_uInt8 EXC_TOKID_MEMNOMEM = 0x08
 Deleted reference subexpression. More...
 
const sal_uInt8 EXC_TOKID_MEMFUNC = 0x09
 Constant reference subexpression without result. More...
 
const sal_uInt8 EXC_TOKID_REFERR = 0x0A
 Variable reference subexpression. More...
 
const sal_uInt8 EXC_TOKID_AREAERR = 0x0B
 Deleted 2D cell reference. More...
 
const sal_uInt8 EXC_TOKID_REFN = 0x0C
 Deleted 2D area reference. More...
 
const sal_uInt8 EXC_TOKID_AREAN = 0x0D
 Relative 2D cell reference (in names). More...
 
const sal_uInt8 EXC_TOKID_MEMAREAN = 0x0E
 Relative 2D area reference (in names). More...
 
const sal_uInt8 EXC_TOKID_MEMNOMEMN = 0x0F
 Reference subexpression (in names). More...
 
const sal_uInt8 EXC_TOKID_FUNCCE = 0x18
 Reference subexpression (in names) without result. More...
 
const sal_uInt8 EXC_TOKID_NAMEX = 0x19
 
const sal_uInt8 EXC_TOKID_REF3D = 0x1A
 External reference. More...
 
const sal_uInt8 EXC_TOKID_AREA3D = 0x1B
 3D cell reference. More...
 
const sal_uInt8 EXC_TOKID_REFERR3D = 0x1C
 3D area reference. More...
 
const sal_uInt8 EXC_TOKID_AREAERR3D = 0x1D
 Deleted 3D cell reference. More...
 
const sal_uInt16 EXC_TOK_STR_MAXLEN = 255
 Deleted 3D area reference. More...
 
const sal_uInt8 EXC_TOK_BOOL_FALSE = 0
 Maximum string length of a tStr token. More...
 
const sal_uInt8 EXC_TOK_BOOL_TRUE = 1
 sal_False value of a tBool token. More...
 
const sal_uInt8 EXC_TOK_ATTR_VOLATILE = 0x01
 sal_True value of a tBool token. More...
 
const sal_uInt8 EXC_TOK_ATTR_IF = 0x02
 Volatile function. More...
 
const sal_uInt8 EXC_TOK_ATTR_CHOOSE = 0x04
 Start of true condition in IF function. More...
 
const sal_uInt8 EXC_TOK_ATTR_GOTO = 0x08
 Jump array of CHOOSE function. More...
 
const sal_uInt8 EXC_TOK_ATTR_SUM = 0x10
 Jump to token. More...
 
const sal_uInt8 EXC_TOK_ATTR_ASSIGN = 0x20
 SUM function with one parameter. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE = 0x40
 BASIC style assignment. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE_SP = 0x00
 Spaces in formula representation. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE_BR = 0x01
 Spaces before next token. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE_SP_OPEN = 0x02
 Line breaks before next token. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE_BR_OPEN = 0x03
 Spaces before opening parenthesis. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE_SP_CLOSE = 0x04
 Line breaks before opening parenthesis. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE_BR_CLOSE = 0x05
 Spaces before closing parenthesis. More...
 
const sal_uInt8 EXC_TOK_ATTR_SPACE_SP_PRE = 0x06
 Line breaks before closing parenthesis. More...
 
const sal_uInt16 EXC_TOK_FUNCVAR_CMD = 0x8000
 Spaces before formula (BIFF3). More...
 
const sal_uInt16 EXC_TOK_FUNCVAR_INDEXMASK = 0x7FFF
 Macro command. More...
 
const sal_uInt8 EXC_TOK_FUNCVAR_PROMPT = 0x80
 Mask for function/command index. More...
 
const sal_uInt8 EXC_TOK_FUNCVAR_COUNTMASK = 0x7F
 User prompt for macro commands. More...
 
const sal_uInt16 EXC_TOK_REF_COLREL = 0x4000
 Mask for parameter count. More...
 
const sal_uInt16 EXC_TOK_REF_ROWREL = 0x8000
 True = Column is relative. More...
 
const sal_uInt8 EXC_TOK_NLR_ERR = 0x01
 True = Row is relative. More...
 
const sal_uInt8 EXC_TOK_NLR_ROWR = 0x02
 NLR: Invalid/deleted. More...
 
const sal_uInt8 EXC_TOK_NLR_COLR = 0x03
 NLR: Row index. More...
 
const sal_uInt8 EXC_TOK_NLR_ROWV = 0x06
 NLR: Column index. More...
 
const sal_uInt8 EXC_TOK_NLR_COLV = 0x07
 NLR: Value in row. More...
 
const sal_uInt8 EXC_TOK_NLR_RANGE = 0x0A
 NLR: Value in column. More...
 
const sal_uInt8 EXC_TOK_NLR_SRANGE = 0x0B
 NLR: Range. More...
 
const sal_uInt8 EXC_TOK_NLR_SROWR = 0x0C
 Stacked NLR: Range. More...
 
const sal_uInt8 EXC_TOK_NLR_SCOLR = 0x0D
 Stacked NLR: Row index. More...
 
const sal_uInt8 EXC_TOK_NLR_SROWV = 0x0E
 Stacked NLR: Column index. More...
 
const sal_uInt8 EXC_TOK_NLR_SCOLV = 0x0F
 Stacked NLR: Value in row. More...
 
const sal_uInt8 EXC_TOK_NLR_RANGEERR = 0x10
 Stacked NLR: Value in column. More...
 
const sal_uInt8 EXC_TOK_NLR_SXNAME = 0x1D
 NLR: Invalid/deleted range. More...
 
const sal_uInt16 EXC_TOK_NLR_REL = 0x8000
 NLR: Pivot table name. More...
 
const sal_uInt32 EXC_TOK_NLR_ADDREL = 0x80000000
 True = Natural language ref is relative. More...
 
const sal_uInt32 EXC_TOK_NLR_ADDMASK = 0x3FFFFFFF
 NLR relative (in appended data). More...
 
const sal_uInt8 EXC_FUNC_MAXPARAM = 30
 
const size_t EXC_FUNCINFO_PARAMINFO_COUNT = 5
 Maximum parameter count. More...
 
const sal_uInt8 EXC_FUNCFLAG_VOLATILE = 0x01
 Number of parameter info entries. More...
 
const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY = 0x02
 Result is volatile (e.g. NOW() function). More...
 
const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY = 0x04
 Only used in import filter. More...
 
const sal_uInt8 EXC_FUNCFLAG_PARAMPAIRS = 0x08
 Only used in export filter. More...
 
const sal_uInt8 EXC_FUNCFLAG_ADDINEQUIV = 0x10
 Optional parameters are expected to appear in pairs. More...
 
const sal_uInt16 EXC_FUNCID_IF = 1
 Function is an add-in equivalent. More...
 
const sal_uInt16 EXC_FUNCID_SUM = 4
 
const sal_uInt16 EXC_FUNCID_AND = 36
 
const sal_uInt16 EXC_FUNCID_OR = 37
 
const sal_uInt16 EXC_FUNCID_CHOOSE = 100
 
const sal_uInt16 EXC_FUNCID_EXTERNCALL = 255
 

Typedef Documentation

◆ XclTokenArrayRef

typedef std::shared_ptr< XclTokenArray > XclTokenArrayRef

Definition at line 416 of file xlformula.hxx.

Enumeration Type Documentation

◆ XclFormulaType

Mask for number of appended ranges.

Type of a formula.

Enumerator
EXC_FMLATYPE_CELL 
EXC_FMLATYPE_MATRIX 

Simple cell formula, also used in change tracking.

EXC_FMLATYPE_SHARED 

Matrix (array) formula.

EXC_FMLATYPE_CONDFMT 

Shared formula.

EXC_FMLATYPE_DATAVAL 

Conditional format.

EXC_FMLATYPE_NAME 

Data validation.

EXC_FMLATYPE_CHART 

Defined name.

EXC_FMLATYPE_CONTROL 

Chart source ranges.

EXC_FMLATYPE_WQUERY 

Spreadsheet links in form controls.

EXC_FMLATYPE_LISTVAL 

Web query source range.

List (cell range) validation.

Definition at line 159 of file xlformula.hxx.

◆ XclFuncParamConv

Enumerates different types of token class conversion in function parameters.

Enumerator
EXC_PARAMCONV_ORG 
EXC_PARAMCONV_VAL 

Use original class of current token.

EXC_PARAMCONV_ARR 

Convert tokens to VAL class.

EXC_PARAMCONV_RPT 

Convert tokens to ARR class.

EXC_PARAMCONV_RPX 

Repeat parent conversion in VALTYPE parameters.

EXC_PARAMCONV_RPO 

Repeat parent conversion in REFTYPE parameters.

Repeat parent conversion in operands of operators.

Definition at line 185 of file xlformula.hxx.

◆ XclFuncParamValidity

Enumerates validity modes for a function parameter.

Enumerator
EXC_PARAM_NONE 
EXC_PARAM_REGULAR 

Default for an unspecified entry in a C-array.

EXC_PARAM_CALCONLY 

Parameter supported by Calc and Excel.

EXC_PARAM_EXCELONLY 

Parameter supported by Calc only.

Parameter supported by Excel only.

Definition at line 176 of file xlformula.hxx.

Function Documentation

◆ operator<<() [1/2]

XclExpStream & operator<< ( XclExpStream rStrm,
const XclTokenArray rTokArr 
)

Calls the Write() function at the passed token array.

Definition at line 806 of file xlformula.cxx.

References rStrm, and XclTokenArray::Write().

◆ operator<<() [2/2]

XclExpStream & operator<< ( XclExpStream rStrm,
const XclTokenArrayRef rxTokArr 
)

Calls the Write() function at the passed token array.

Definition at line 812 of file xlformula.cxx.

References rStrm, and XclExpStream::Write().

◆ operator>>()

XclImpStream & operator>> ( XclImpStream rStrm,
XclTokenArray rTokArr 
)

Calls the Read() function at the passed token array.

Definition at line 800 of file xlformula.cxx.

References XclTokenArray::Read(), and rStrm.

Variable Documentation

◆ EXC_FUNC_MAXPARAM

const sal_uInt8 EXC_FUNC_MAXPARAM = 30

◆ EXC_FUNCFLAG_ADDINEQUIV

const sal_uInt8 EXC_FUNCFLAG_ADDINEQUIV = 0x10

Optional parameters are expected to appear in pairs.

Definition at line 292 of file xlformula.hxx.

Referenced by XclFunctionInfo::IsAddInEquivalent(), and XclFunctionInfo::IsMacroFunc().

◆ EXC_FUNCFLAG_EXPORTONLY

const sal_uInt8 EXC_FUNCFLAG_EXPORTONLY = 0x04

Only used in import filter.

Definition at line 290 of file xlformula.hxx.

Referenced by XclFunctionProvider::FillXclFuncMap().

◆ EXC_FUNCFLAG_IMPORTONLY

const sal_uInt8 EXC_FUNCFLAG_IMPORTONLY = 0x02

Result is volatile (e.g. NOW() function).

Definition at line 289 of file xlformula.hxx.

Referenced by XclFunctionProvider::FillScFuncMap().

◆ EXC_FUNCFLAG_PARAMPAIRS

const sal_uInt8 EXC_FUNCFLAG_PARAMPAIRS = 0x08

Only used in export filter.

Definition at line 291 of file xlformula.hxx.

Referenced by XclFunctionInfo::IsParamPairs().

◆ EXC_FUNCFLAG_VOLATILE

const sal_uInt8 EXC_FUNCFLAG_VOLATILE = 0x01

Number of parameter info entries.

Definition at line 288 of file xlformula.hxx.

Referenced by XclFunctionInfo::IsVolatile().

◆ EXC_FUNCID_AND

const sal_uInt16 EXC_FUNCID_AND = 36

Definition at line 297 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AndTerm().

◆ EXC_FUNCID_CHOOSE

const sal_uInt16 EXC_FUNCID_CHOOSE = 100

Definition at line 299 of file xlformula.hxx.

◆ EXC_FUNCID_EXTERNCALL

const sal_uInt16 EXC_FUNCID_EXTERNCALL = 255

Definition at line 300 of file xlformula.hxx.

Referenced by XclFunctionInfo::IsFixedParamCount().

◆ EXC_FUNCID_IF

const sal_uInt16 EXC_FUNCID_IF = 1

Function is an add-in equivalent.

Definition at line 295 of file xlformula.hxx.

◆ EXC_FUNCID_OR

const sal_uInt16 EXC_FUNCID_OR = 37

Definition at line 298 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::OrTerm().

◆ EXC_FUNCID_SUM

const sal_uInt16 EXC_FUNCID_SUM = 4

Definition at line 296 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendFuncToken().

◆ EXC_FUNCINFO_PARAMINFO_COUNT

const size_t EXC_FUNCINFO_PARAMINFO_COUNT = 5

Maximum parameter count.

Definition at line 286 of file xlformula.hxx.

◆ EXC_TOK_ATTR_ASSIGN

const sal_uInt8 EXC_TOK_ATTR_ASSIGN = 0x20

SUM function with one parameter.

Definition at line 121 of file xlformula.hxx.

◆ EXC_TOK_ATTR_CHOOSE

const sal_uInt8 EXC_TOK_ATTR_CHOOSE = 0x04

Start of true condition in IF function.

Definition at line 118 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::PrepareParam().

◆ EXC_TOK_ATTR_GOTO

const sal_uInt8 EXC_TOK_ATTR_GOTO = 0x08

Jump array of CHOOSE function.

Definition at line 119 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::FinishFunction(), and XclExpFmlaCompImpl::PrepareParam().

◆ EXC_TOK_ATTR_IF

const sal_uInt8 EXC_TOK_ATTR_IF = 0x02

Volatile function.

Definition at line 117 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::PrepareParam().

◆ EXC_TOK_ATTR_SPACE

const sal_uInt8 EXC_TOK_ATTR_SPACE = 0x40

BASIC style assignment.

Definition at line 122 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendSpaceToken(), and XclExpFmlaCompImpl::IsSpaceToken().

◆ EXC_TOK_ATTR_SPACE_BR

const sal_uInt8 EXC_TOK_ATTR_SPACE_BR = 0x01

Spaces before next token.

Definition at line 125 of file xlformula.hxx.

◆ EXC_TOK_ATTR_SPACE_BR_CLOSE

const sal_uInt8 EXC_TOK_ATTR_SPACE_BR_CLOSE = 0x05

Spaces before closing parenthesis.

Definition at line 129 of file xlformula.hxx.

◆ EXC_TOK_ATTR_SPACE_BR_OPEN

const sal_uInt8 EXC_TOK_ATTR_SPACE_BR_OPEN = 0x03

Spaces before opening parenthesis.

Definition at line 127 of file xlformula.hxx.

◆ EXC_TOK_ATTR_SPACE_SP

const sal_uInt8 EXC_TOK_ATTR_SPACE_SP = 0x00

◆ EXC_TOK_ATTR_SPACE_SP_CLOSE

const sal_uInt8 EXC_TOK_ATTR_SPACE_SP_CLOSE = 0x04

Line breaks before opening parenthesis.

Definition at line 128 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendParenToken(), and XclExpFmlaCompImpl::FinishFunction().

◆ EXC_TOK_ATTR_SPACE_SP_OPEN

const sal_uInt8 EXC_TOK_ATTR_SPACE_SP_OPEN = 0x02

Line breaks before next token.

Definition at line 126 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendParenToken().

◆ EXC_TOK_ATTR_SPACE_SP_PRE

const sal_uInt8 EXC_TOK_ATTR_SPACE_SP_PRE = 0x06

Line breaks before closing parenthesis.

Definition at line 130 of file xlformula.hxx.

◆ EXC_TOK_ATTR_SUM

const sal_uInt8 EXC_TOK_ATTR_SUM = 0x10

Jump to token.

Definition at line 120 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendFuncToken().

◆ EXC_TOK_ATTR_VOLATILE

const sal_uInt8 EXC_TOK_ATTR_VOLATILE = 0x01

sal_True value of a tBool token.

Definition at line 116 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::FinalizeFormula().

◆ EXC_TOK_BOOL_FALSE

const sal_uInt8 EXC_TOK_BOOL_FALSE = 0

Maximum string length of a tStr token.

Definition at line 113 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendBoolToken().

◆ EXC_TOK_BOOL_TRUE

const sal_uInt8 EXC_TOK_BOOL_TRUE = 1

sal_False value of a tBool token.

Definition at line 114 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendBoolToken().

◆ EXC_TOK_FUNCVAR_CMD

const sal_uInt16 EXC_TOK_FUNCVAR_CMD = 0x8000

Spaces before formula (BIFF3).

Definition at line 132 of file xlformula.hxx.

◆ EXC_TOK_FUNCVAR_COUNTMASK

const sal_uInt8 EXC_TOK_FUNCVAR_COUNTMASK = 0x7F

User prompt for macro commands.

Definition at line 135 of file xlformula.hxx.

◆ EXC_TOK_FUNCVAR_INDEXMASK

const sal_uInt16 EXC_TOK_FUNCVAR_INDEXMASK = 0x7FFF

Macro command.

Definition at line 133 of file xlformula.hxx.

◆ EXC_TOK_FUNCVAR_PROMPT

const sal_uInt8 EXC_TOK_FUNCVAR_PROMPT = 0x80

Mask for function/command index.

Definition at line 134 of file xlformula.hxx.

◆ EXC_TOK_NLR_ADDMASK

const sal_uInt32 EXC_TOK_NLR_ADDMASK = 0x3FFFFFFF

NLR relative (in appended data).

Definition at line 156 of file xlformula.hxx.

Referenced by ExcelToSc::ReadExtensionNlr().

◆ EXC_TOK_NLR_ADDREL

const sal_uInt32 EXC_TOK_NLR_ADDREL = 0x80000000

True = Natural language ref is relative.

Definition at line 155 of file xlformula.hxx.

◆ EXC_TOK_NLR_COLR

const sal_uInt8 EXC_TOK_NLR_COLR = 0x03

NLR: Row index.

Definition at line 142 of file xlformula.hxx.

◆ EXC_TOK_NLR_COLV

const sal_uInt8 EXC_TOK_NLR_COLV = 0x07

NLR: Value in row.

Definition at line 144 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef().

◆ EXC_TOK_NLR_ERR

const sal_uInt8 EXC_TOK_NLR_ERR = 0x01

True = Row is relative.

Definition at line 140 of file xlformula.hxx.

◆ EXC_TOK_NLR_RANGE

const sal_uInt8 EXC_TOK_NLR_RANGE = 0x0A

NLR: Value in column.

Definition at line 145 of file xlformula.hxx.

◆ EXC_TOK_NLR_RANGEERR

const sal_uInt8 EXC_TOK_NLR_RANGEERR = 0x10

Stacked NLR: Value in column.

Definition at line 151 of file xlformula.hxx.

◆ EXC_TOK_NLR_REL

const sal_uInt16 EXC_TOK_NLR_REL = 0x8000

NLR: Pivot table name.

Definition at line 153 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ConvertRefData().

◆ EXC_TOK_NLR_ROWR

const sal_uInt8 EXC_TOK_NLR_ROWR = 0x02

NLR: Invalid/deleted.

Definition at line 141 of file xlformula.hxx.

◆ EXC_TOK_NLR_ROWV

const sal_uInt8 EXC_TOK_NLR_ROWV = 0x06

NLR: Column index.

Definition at line 143 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef().

◆ EXC_TOK_NLR_SCOLR

const sal_uInt8 EXC_TOK_NLR_SCOLR = 0x0D

Stacked NLR: Row index.

Definition at line 148 of file xlformula.hxx.

◆ EXC_TOK_NLR_SCOLV

const sal_uInt8 EXC_TOK_NLR_SCOLV = 0x0F

Stacked NLR: Value in row.

Definition at line 150 of file xlformula.hxx.

◆ EXC_TOK_NLR_SRANGE

const sal_uInt8 EXC_TOK_NLR_SRANGE = 0x0B

NLR: Range.

Definition at line 146 of file xlformula.hxx.

◆ EXC_TOK_NLR_SROWR

const sal_uInt8 EXC_TOK_NLR_SROWR = 0x0C

Stacked NLR: Range.

Definition at line 147 of file xlformula.hxx.

◆ EXC_TOK_NLR_SROWV

const sal_uInt8 EXC_TOK_NLR_SROWV = 0x0E

Stacked NLR: Column index.

Definition at line 149 of file xlformula.hxx.

◆ EXC_TOK_NLR_SXNAME

const sal_uInt8 EXC_TOK_NLR_SXNAME = 0x1D

NLR: Invalid/deleted range.

Definition at line 152 of file xlformula.hxx.

◆ EXC_TOK_REF_COLREL

const sal_uInt16 EXC_TOK_REF_COLREL = 0x4000

Mask for parameter count.

Definition at line 137 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ConvertRefData().

◆ EXC_TOK_REF_ROWREL

const sal_uInt16 EXC_TOK_REF_ROWREL = 0x8000

True = Column is relative.

Definition at line 138 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ConvertRefData().

◆ EXC_TOK_STR_MAXLEN

const sal_uInt16 EXC_TOK_STR_MAXLEN = 255

Deleted 3D area reference.

Definition at line 111 of file xlformula.hxx.

◆ EXC_TOKARR_MAXLEN

const size_t EXC_TOKARR_MAXLEN = 4096

Definition at line 37 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::FinalizeFormula().

◆ EXC_TOKCLASS_ARR

const sal_uInt8 EXC_TOKCLASS_ARR = 0x60

40-5F: Value class tokens.

Definition at line 45 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessMatrix(), and XclExpFmlaCompImpl::RecalcTokenClass().

◆ EXC_TOKCLASS_MASK

const sal_uInt8 EXC_TOKCLASS_MASK = 0x60

Maximum size of a token array.

Definition at line 41 of file xlformula.hxx.

Referenced by XclTokenArrayHelper::ChangeTokenClass(), XclTokenArrayHelper::GetTokenClass(), and XclTokenArrayHelper::GetTokenId().

◆ EXC_TOKCLASS_NONE

const sal_uInt8 EXC_TOKCLASS_NONE = 0x00

Definition at line 42 of file xlformula.hxx.

Referenced by XclImpPictureObj::ReadPictFmla().

◆ EXC_TOKCLASS_REF

const sal_uInt8 EXC_TOKCLASS_REF = 0x20

◆ EXC_TOKCLASS_VAL

const sal_uInt8 EXC_TOKCLASS_VAL = 0x40

20-3F: Reference class tokens.

Definition at line 44 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendLogicalOperatorToken(), and XclExpFmlaCompImpl::RecalcTokenClass().

◆ EXC_TOKID_ADD

const sal_uInt8 EXC_TOKID_ADD = 0x03

Multiple operation reference.

Definition at line 54 of file xlformula.hxx.

◆ EXC_TOKID_AREA

const sal_uInt8 EXC_TOKID_AREA = 0x05

2D cell reference.

Definition at line 91 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessRangeRef().

◆ EXC_TOKID_AREA3D

const sal_uInt8 EXC_TOKID_AREA3D = 0x1B

3D cell reference.

Definition at line 105 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessExternalRangeRef(), and XclExpFmlaCompImpl::ProcessRangeRef().

◆ EXC_TOKID_AREAERR

const sal_uInt8 EXC_TOKID_AREAERR = 0x0B

Deleted 2D cell reference.

Definition at line 97 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessRangeRef().

◆ EXC_TOKID_AREAERR3D

const sal_uInt8 EXC_TOKID_AREAERR3D = 0x1D

Deleted 3D cell reference.

Definition at line 107 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessExternalRangeRef(), and XclExpFmlaCompImpl::ProcessRangeRef().

◆ EXC_TOKID_AREAN

const sal_uInt8 EXC_TOKID_AREAN = 0x0D

Relative 2D cell reference (in names).

Definition at line 99 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessRangeRef().

◆ EXC_TOKID_ARRAY

const sal_uInt8 EXC_TOKID_ARRAY = 0x00

Floating-point constant.

Definition at line 86 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessMatrix().

◆ EXC_TOKID_ATTR

const sal_uInt8 EXC_TOKID_ATTR = 0x19

◆ EXC_TOKID_BOOL

const sal_uInt8 EXC_TOKID_BOOL = 0x1D

Error constant.

Definition at line 80 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendBoolToken().

◆ EXC_TOKID_CONCAT

const sal_uInt8 EXC_TOKID_CONCAT = 0x08

Power operator.

Definition at line 59 of file xlformula.hxx.

◆ EXC_TOKID_DIV

const sal_uInt8 EXC_TOKID_DIV = 0x06

Multiplication operator.

Definition at line 57 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::FinishFunction(), and XclExpFmlaCompImpl::FinishParam().

◆ EXC_TOKID_ENDSHEET

const sal_uInt8 EXC_TOKID_ENDSHEET = 0x1B

Start of a sheet reference (BIFF2-BIFF4).

Definition at line 78 of file xlformula.hxx.

◆ EXC_TOKID_EQ

const sal_uInt8 EXC_TOKID_EQ = 0x0B

Less than or equal operator.

Definition at line 62 of file xlformula.hxx.

◆ EXC_TOKID_ERR

const sal_uInt8 EXC_TOKID_ERR = 0x1C

End of a sheet reference (BIFF2-BIFF4).

Definition at line 79 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendErrorToken().

◆ EXC_TOKID_EXP

const sal_uInt8 EXC_TOKID_EXP = 0x01

Placeholder for invalid token id.

Definition at line 52 of file xlformula.hxx.

Referenced by XclExpArray::CreateCellTokenArray(), and XclExpShrfmla::CreateCellTokenArray().

◆ EXC_TOKID_FUNC

const sal_uInt8 EXC_TOKID_FUNC = 0x01

Array constant.

Definition at line 87 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendFuncToken().

◆ EXC_TOKID_FUNCCE

const sal_uInt8 EXC_TOKID_FUNCCE = 0x18

Reference subexpression (in names) without result.

Definition at line 102 of file xlformula.hxx.

◆ EXC_TOKID_FUNCVAR

const sal_uInt8 EXC_TOKID_FUNCVAR = 0x02

Function, fixed number of arguments.

Definition at line 88 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendFuncToken(), and XclExpFmlaCompImpl::AppendLogicalOperatorToken().

◆ EXC_TOKID_GE

const sal_uInt8 EXC_TOKID_GE = 0x0C

Equal operator.

Definition at line 63 of file xlformula.hxx.

◆ EXC_TOKID_GT

const sal_uInt8 EXC_TOKID_GT = 0x0D

Greater than or equal operator.

Definition at line 64 of file xlformula.hxx.

◆ EXC_TOKID_INT

const sal_uInt8 EXC_TOKID_INT = 0x1E

Boolean constant.

Definition at line 81 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendIntToken().

◆ EXC_TOKID_ISECT

const sal_uInt8 EXC_TOKID_ISECT = 0x0F

Not equal operator.

Definition at line 66 of file xlformula.hxx.

◆ EXC_TOKID_LE

const sal_uInt8 EXC_TOKID_LE = 0x0A

Less than operator.

Definition at line 61 of file xlformula.hxx.

◆ EXC_TOKID_LIST

const sal_uInt8 EXC_TOKID_LIST = 0x10

Intersection operator.

Definition at line 67 of file xlformula.hxx.

◆ EXC_TOKID_LT

const sal_uInt8 EXC_TOKID_LT = 0x09

String concatenation operator.

Definition at line 60 of file xlformula.hxx.

◆ EXC_TOKID_MASK

const sal_uInt8 EXC_TOKID_MASK = 0x1F

60-7F: Array class tokens.

Definition at line 49 of file xlformula.hxx.

Referenced by XclTokenArrayHelper::GetTokenId().

◆ EXC_TOKID_MEMAREA

const sal_uInt8 EXC_TOKID_MEMAREA = 0x06

2D area reference.

Definition at line 92 of file xlformula.hxx.

◆ EXC_TOKID_MEMAREAN

const sal_uInt8 EXC_TOKID_MEMAREAN = 0x0E

Relative 2D area reference (in names).

Definition at line 100 of file xlformula.hxx.

◆ EXC_TOKID_MEMERR

const sal_uInt8 EXC_TOKID_MEMERR = 0x07

Constant reference subexpression.

Definition at line 93 of file xlformula.hxx.

◆ EXC_TOKID_MEMFUNC

const sal_uInt8 EXC_TOKID_MEMFUNC = 0x09

Constant reference subexpression without result.

Definition at line 95 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ListTerm().

◆ EXC_TOKID_MEMNOMEM

const sal_uInt8 EXC_TOKID_MEMNOMEM = 0x08

Deleted reference subexpression.

Definition at line 94 of file xlformula.hxx.

◆ EXC_TOKID_MEMNOMEMN

const sal_uInt8 EXC_TOKID_MEMNOMEMN = 0x0F

Reference subexpression (in names).

Definition at line 101 of file xlformula.hxx.

◆ EXC_TOKID_MISSARG

const sal_uInt8 EXC_TOKID_MISSARG = 0x16

Parentheses.

Definition at line 73 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendMissingToken().

◆ EXC_TOKID_MUL

const sal_uInt8 EXC_TOKID_MUL = 0x05

Subtraction operator.

Definition at line 56 of file xlformula.hxx.

◆ EXC_TOKID_NAME

const sal_uInt8 EXC_TOKID_NAME = 0x03

Function, variable number of arguments.

Definition at line 89 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendNameToken().

◆ EXC_TOKID_NAMEX

const sal_uInt8 EXC_TOKID_NAMEX = 0x19

◆ EXC_TOKID_NE

const sal_uInt8 EXC_TOKID_NE = 0x0E

Greater than operator.

Definition at line 65 of file xlformula.hxx.

◆ EXC_TOKID_NLR

const sal_uInt8 EXC_TOKID_NLR = 0x18

String constant.

Definition at line 75 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef().

◆ EXC_TOKID_NONE

const sal_uInt8 EXC_TOKID_NONE = 0x00

◆ EXC_TOKID_NUM

const sal_uInt8 EXC_TOKID_NUM = 0x1F

Integer constant.

Definition at line 82 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendNumToken().

◆ EXC_TOKID_PAREN

const sal_uInt8 EXC_TOKID_PAREN = 0x15

Percent sign.

Definition at line 72 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::AppendParenToken(), and XclExpFmlaCompImpl::RemoveTrailingParen().

◆ EXC_TOKID_PERCENT

const sal_uInt8 EXC_TOKID_PERCENT = 0x14

Unary minus.

Definition at line 71 of file xlformula.hxx.

◆ EXC_TOKID_POWER

const sal_uInt8 EXC_TOKID_POWER = 0x07

Division operator.

Definition at line 58 of file xlformula.hxx.

◆ EXC_TOKID_RANGE

const sal_uInt8 EXC_TOKID_RANGE = 0x11

List operator.

Definition at line 68 of file xlformula.hxx.

◆ EXC_TOKID_REF

const sal_uInt8 EXC_TOKID_REF = 0x04

Defined name.

Definition at line 90 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef().

◆ EXC_TOKID_REF3D

const sal_uInt8 EXC_TOKID_REF3D = 0x1A

External reference.

Definition at line 104 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef(), and XclExpFmlaCompImpl::ProcessExternalCellRef().

◆ EXC_TOKID_REFERR

const sal_uInt8 EXC_TOKID_REFERR = 0x0A

Variable reference subexpression.

Definition at line 96 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef().

◆ EXC_TOKID_REFERR3D

const sal_uInt8 EXC_TOKID_REFERR3D = 0x1C

3D area reference.

Definition at line 106 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef(), and XclExpFmlaCompImpl::ProcessExternalCellRef().

◆ EXC_TOKID_REFN

const sal_uInt8 EXC_TOKID_REFN = 0x0C

Deleted 2D area reference.

Definition at line 98 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessCellRef().

◆ EXC_TOKID_SHEET

const sal_uInt8 EXC_TOKID_SHEET = 0x1A

Special attribute.

Definition at line 77 of file xlformula.hxx.

◆ EXC_TOKID_STR

const sal_uInt8 EXC_TOKID_STR = 0x17

Missing argument.

Definition at line 74 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::ProcessString().

◆ EXC_TOKID_SUB

const sal_uInt8 EXC_TOKID_SUB = 0x04

Addition operator.

Definition at line 55 of file xlformula.hxx.

Referenced by XclExpFmlaCompImpl::FinishFunction().

◆ EXC_TOKID_TBL

const sal_uInt8 EXC_TOKID_TBL = 0x02

Array or shared formula reference.

Definition at line 53 of file xlformula.hxx.

Referenced by XclExpTableop::CreateCellTokenArray(), and XclImpPictureObj::ReadPictFmla().

◆ EXC_TOKID_UMINUS

const sal_uInt8 EXC_TOKID_UMINUS = 0x13

Unary plus.

Definition at line 70 of file xlformula.hxx.

◆ EXC_TOKID_UPLUS

const sal_uInt8 EXC_TOKID_UPLUS = 0x12

Range operator.

Definition at line 69 of file xlformula.hxx.