LibreOffice Module sc (master) 1
Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | List of all members
oox::xls::OpCodeProviderImpl Struct Reference
Inheritance diagram for oox::xls::OpCodeProviderImpl:
[legend]
Collaboration diagram for oox::xls::OpCodeProviderImpl:
[legend]

Public Types

typedef RefMap< sal_Int32, FunctionInfoOpCodeFuncMap
 
typedef RefMap< OUString, FunctionInfoFuncNameMap
 
typedef ::std::vector< FormulaOpCodeMapEntry > OpCodeEntryVector
 

Public Member Functions

 OpCodeProviderImpl (const FunctionInfoVector &rFuncInfos, const Reference< XMultiServiceFactory > &rxModelFactory)
 OOXML token mapping for formula parser service. More...
 

Public Attributes

OpCodeFuncMap maOpCodeFuncs
 
FuncNameMap maExtProgFuncs
 Maps API function op-codes to function data. More...
 
OpCodeEntryVector maParserMap
 Maps programmatical API function names to function data. More...
 
- Public Attributes inherited from oox::xls::ApiOpCodes
sal_Int32 OPCODE_UNKNOWN
 
sal_Int32 OPCODE_EXTERNAL
 Internal: function name unknown to mapper. More...
 
sal_Int32 OPCODE_PUSH
 External function call (e.g. add-ins). More...
 
sal_Int32 OPCODE_MISSING
 Op-code for common value operands. More...
 
sal_Int32 OPCODE_SPACES
 Placeholder for a missing function parameter. More...
 
sal_Int32 OPCODE_NAME
 Spaces between other formula tokens. More...
 
sal_Int32 OPCODE_DBAREA
 Index of a defined name. More...
 
sal_Int32 OPCODE_NLR
 Index of a database area. More...
 
sal_Int32 OPCODE_DDE
 Natural language reference. More...
 
sal_Int32 OPCODE_MACRO
 DDE link function. More...
 
sal_Int32 OPCODE_BAD
 Macro function call. More...
 
sal_Int32 OPCODE_NONAME
 Bad token (unknown name, formula error). More...
 
sal_Int32 OPCODE_OPEN
 Function style #NAME? error. More...
 
sal_Int32 OPCODE_CLOSE
 Opening parenthesis. More...
 
sal_Int32 OPCODE_SEP
 Closing parenthesis. More...
 
sal_Int32 OPCODE_ARRAY_OPEN
 Function parameter separator. More...
 
sal_Int32 OPCODE_ARRAY_CLOSE
 Opening brace for constant arrays. More...
 
sal_Int32 OPCODE_ARRAY_ROWSEP
 Closing brace for constant arrays. More...
 
sal_Int32 OPCODE_ARRAY_COLSEP
 Row separator in constant arrays. More...
 
sal_Int32 OPCODE_PLUS_SIGN
 Column separator in constant arrays. More...
 
sal_Int32 OPCODE_MINUS_SIGN
 Unary plus sign. More...
 
sal_Int32 OPCODE_PERCENT
 Unary minus sign. More...
 
sal_Int32 OPCODE_ADD
 Percent sign. More...
 
sal_Int32 OPCODE_SUB
 Addition operator. More...
 
sal_Int32 OPCODE_MULT
 Subtraction operator. More...
 
sal_Int32 OPCODE_DIV
 Multiplication operator. More...
 
sal_Int32 OPCODE_POWER
 Division operator. More...
 
sal_Int32 OPCODE_CONCAT
 Power operator. More...
 
sal_Int32 OPCODE_EQUAL
 String concatenation operator. More...
 
sal_Int32 OPCODE_NOT_EQUAL
 Compare equal operator. More...
 
sal_Int32 OPCODE_LESS
 Compare not equal operator. More...
 
sal_Int32 OPCODE_LESS_EQUAL
 Compare less operator. More...
 
sal_Int32 OPCODE_GREATER
 Compare less or equal operator. More...
 
sal_Int32 OPCODE_GREATER_EQUAL
 Compare greater operator. More...
 
sal_Int32 OPCODE_INTERSECT
 Compare greater or equal operator. More...
 
sal_Int32 OPCODE_LIST
 Range intersection operator. More...
 
sal_Int32 OPCODE_RANGE
 Range list operator. More...
 

Private Types

typedef ::std::map< OUString, ApiTokenApiTokenMap
 
typedef Sequence< FormulaOpCodeMapEntry > OpCodeEntrySequence
 

Private Member Functions

bool fillFuncTokenMaps (ApiTokenMap &orIntFuncTokenMap, ApiTokenMap &orExtFuncTokenMap, OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper) const
 
bool initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, const OUString &rOdfName, const OUString &rOoxName)
 
bool initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, const char *pcOdfName, const char *pcOoxName)
 
bool initOpCode (sal_Int32 &ornOpCode, const ApiTokenMap &rTokenMap, sal_Unicode cOdfName, sal_Unicode cOoxName)
 
bool initFuncOpCode (FunctionInfo &orFuncInfo, const ApiTokenMap &rFuncTokenMap)
 
bool initFuncOpCodes (const ApiTokenMap &rIntFuncTokenMap, const ApiTokenMap &rExtFuncTokenMap, const FunctionInfoVector &rFuncInfos)
 

Static Private Member Functions

static bool fillEntrySeq (OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper, sal_Int32 nMapGroup)
 
static bool fillTokenMap (ApiTokenMap &orTokenMap, OpCodeEntrySequence &orEntrySeq, const Reference< XFormulaOpCodeMapper > &rxMapper, sal_Int32 nMapGroup)
 
static bool initOpCode (sal_Int32 &ornOpCode, const OpCodeEntrySequence &rEntrySeq, sal_Int32 nSpecialId)
 

Detailed Description

Definition at line 1120 of file formulabase.cxx.

Member Typedef Documentation

◆ ApiTokenMap

Definition at line 1135 of file formulabase.cxx.

◆ FuncNameMap

Definition at line 1123 of file formulabase.cxx.

◆ OpCodeEntrySequence

typedef Sequence< FormulaOpCodeMapEntry > oox::xls::OpCodeProviderImpl::OpCodeEntrySequence
private

Definition at line 1136 of file formulabase.cxx.

◆ OpCodeEntryVector

typedef ::std::vector< FormulaOpCodeMapEntry > oox::xls::OpCodeProviderImpl::OpCodeEntryVector

Definition at line 1124 of file formulabase.cxx.

◆ OpCodeFuncMap

Definition at line 1122 of file formulabase.cxx.

Constructor & Destructor Documentation

◆ OpCodeProviderImpl()

oox::xls::OpCodeProviderImpl::OpCodeProviderImpl ( const FunctionInfoVector rFuncInfos,
const Reference< XMultiServiceFactory > &  rxModelFactory 
)
explicit

OOXML token mapping for formula parser service.

Definition at line 1151 of file formulabase.cxx.

References API_TOKEN_ARRAY_CLOSE, API_TOKEN_ARRAY_COLSEP, API_TOKEN_ARRAY_OPEN, aTokenMap, Exception, fillEntrySeq(), fillFuncTokenMaps(), fillTokenMap(), initFuncOpCodes(), initOpCode(), NAME, oox::xls::ApiOpCodes::OPCODE_ADD, oox::xls::ApiOpCodes::OPCODE_ARRAY_CLOSE, oox::xls::ApiOpCodes::OPCODE_ARRAY_COLSEP, oox::xls::ApiOpCodes::OPCODE_ARRAY_OPEN, oox::xls::ApiOpCodes::OPCODE_ARRAY_ROWSEP, oox::xls::ApiOpCodes::OPCODE_BAD, oox::xls::ApiOpCodes::OPCODE_CLOSE, oox::xls::ApiOpCodes::OPCODE_CONCAT, oox::xls::ApiOpCodes::OPCODE_DBAREA, oox::xls::ApiOpCodes::OPCODE_DDE, oox::xls::ApiOpCodes::OPCODE_DIV, oox::xls::ApiOpCodes::OPCODE_EQUAL, oox::xls::ApiOpCodes::OPCODE_EXTERNAL, oox::xls::ApiOpCodes::OPCODE_GREATER, oox::xls::ApiOpCodes::OPCODE_GREATER_EQUAL, oox::xls::ApiOpCodes::OPCODE_INTERSECT, oox::xls::ApiOpCodes::OPCODE_LESS, oox::xls::ApiOpCodes::OPCODE_LESS_EQUAL, oox::xls::ApiOpCodes::OPCODE_LIST, oox::xls::ApiOpCodes::OPCODE_MACRO, oox::xls::ApiOpCodes::OPCODE_MINUS_SIGN, oox::xls::ApiOpCodes::OPCODE_MISSING, oox::xls::ApiOpCodes::OPCODE_MULT, oox::xls::ApiOpCodes::OPCODE_NAME, oox::xls::ApiOpCodes::OPCODE_NLR, oox::xls::ApiOpCodes::OPCODE_NONAME, oox::xls::ApiOpCodes::OPCODE_NOT_EQUAL, oox::xls::ApiOpCodes::OPCODE_OPEN, oox::xls::ApiOpCodes::OPCODE_PERCENT, oox::xls::ApiOpCodes::OPCODE_PLUS_SIGN, oox::xls::ApiOpCodes::OPCODE_POWER, oox::xls::ApiOpCodes::OPCODE_PUSH, oox::xls::ApiOpCodes::OPCODE_RANGE, oox::xls::ApiOpCodes::OPCODE_SEP, oox::xls::ApiOpCodes::OPCODE_SPACES, oox::xls::ApiOpCodes::OPCODE_SUB, oox::xls::ApiOpCodes::OPCODE_UNKNOWN, and PUSH.

Member Function Documentation

◆ fillEntrySeq()

bool oox::xls::OpCodeProviderImpl::fillEntrySeq ( OpCodeEntrySequence orEntrySeq,
const Reference< XFormulaOpCodeMapper > &  rxMapper,
sal_Int32  nMapGroup 
)
staticprivate

Definition at line 1232 of file formulabase.cxx.

References Exception.

Referenced by fillFuncTokenMaps(), fillTokenMap(), and OpCodeProviderImpl().

◆ fillFuncTokenMaps()

bool oox::xls::OpCodeProviderImpl::fillFuncTokenMaps ( ApiTokenMap orIntFuncTokenMap,
ApiTokenMap orExtFuncTokenMap,
OpCodeEntrySequence orEntrySeq,
const Reference< XFormulaOpCodeMapper > &  rxMapper 
) const
private

Definition at line 1258 of file formulabase.cxx.

References fillEntrySeq(), and oox::xls::ApiOpCodes::OPCODE_EXTERNAL.

Referenced by OpCodeProviderImpl().

◆ fillTokenMap()

bool oox::xls::OpCodeProviderImpl::fillTokenMap ( ApiTokenMap orTokenMap,
OpCodeEntrySequence orEntrySeq,
const Reference< XFormulaOpCodeMapper > &  rxMapper,
sal_Int32  nMapGroup 
)
staticprivate

Definition at line 1246 of file formulabase.cxx.

References fillEntrySeq().

Referenced by OpCodeProviderImpl().

◆ initFuncOpCode()

bool oox::xls::OpCodeProviderImpl::initFuncOpCode ( FunctionInfo orFuncInfo,
const ApiTokenMap rFuncTokenMap 
)
private

◆ initFuncOpCodes()

bool oox::xls::OpCodeProviderImpl::initFuncOpCodes ( const ApiTokenMap rIntFuncTokenMap,
const ApiTokenMap rExtFuncTokenMap,
const FunctionInfoVector rFuncInfos 
)
private

◆ initOpCode() [1/4]

bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const ApiTokenMap rTokenMap,
const char *  pcOdfName,
const char *  pcOoxName 
)
private

Definition at line 1303 of file formulabase.cxx.

References initOpCode().

◆ initOpCode() [2/4]

bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const ApiTokenMap rTokenMap,
const OUString &  rOdfName,
const OUString &  rOoxName 
)
private

Definition at line 1282 of file formulabase.cxx.

References maParserMap, and OUStringToOString().

◆ initOpCode() [3/4]

bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const ApiTokenMap rTokenMap,
sal_Unicode  cOdfName,
sal_Unicode  cOoxName 
)
private

Definition at line 1310 of file formulabase.cxx.

References initOpCode().

◆ initOpCode() [4/4]

bool oox::xls::OpCodeProviderImpl::initOpCode ( sal_Int32 &  ornOpCode,
const OpCodeEntrySequence rEntrySeq,
sal_Int32  nSpecialId 
)
staticprivate

Definition at line 1270 of file formulabase.cxx.

Referenced by initOpCode(), and OpCodeProviderImpl().

Member Data Documentation

◆ maExtProgFuncs

FuncNameMap oox::xls::OpCodeProviderImpl::maExtProgFuncs

Maps API function op-codes to function data.

Definition at line 1127 of file formulabase.cxx.

Referenced by initFuncOpCodes().

◆ maOpCodeFuncs

OpCodeFuncMap oox::xls::OpCodeProviderImpl::maOpCodeFuncs

Definition at line 1126 of file formulabase.cxx.

Referenced by initFuncOpCodes().

◆ maParserMap

OpCodeEntryVector oox::xls::OpCodeProviderImpl::maParserMap

Maps programmatical API function names to function data.

Definition at line 1128 of file formulabase.cxx.

Referenced by initFuncOpCode(), and initOpCode().


The documentation for this struct was generated from the following file: