LibreOffice Module connectivity (master) 1
Static Public Member Functions | Private Member Functions | List of all members
connectivity::FunctionParser Class Reference

#include <RowFunctionParser.hxx>

Static Public Member Functions

static std::shared_ptr< ExpressionNode > const & parseFunction (const OUString &_sFunction)
 Parse a string. More...
 

Private Member Functions

 FunctionParser ()=delete
 
 FunctionParser (const FunctionParser &)=delete
 
FunctionParseroperator= (const FunctionParser &)=delete
 

Detailed Description

Definition at line 61 of file RowFunctionParser.hxx.

Constructor & Destructor Documentation

◆ FunctionParser() [1/2]

connectivity::FunctionParser::FunctionParser ( )
privatedelete

◆ FunctionParser() [2/2]

connectivity::FunctionParser::FunctionParser ( const FunctionParser )
privatedelete

Member Function Documentation

◆ operator=()

FunctionParser & connectivity::FunctionParser::operator= ( const FunctionParser )
privatedelete

◆ parseFunction()

std::shared_ptr< ExpressionNode > const & connectivity::FunctionParser::parseFunction ( const OUString &  _sFunction)
static

Parse a string.

The following grammar is accepted by this method:

number_digit = '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'

number = number number_digit | number_digit

equal_function = '=' ternary_function = 'if'

string_reference = 'a-z,A-Z,0-9' ' ' modifier_reference = '$' '0-9' ' '

basic_expression = number | string_reference | additive_expression equal_function additive_expression | unary_function '(' number_digit ')' ternary_function '(' additive_expression ',' additive_expression ', ' additive_expression ')' | '(' additive_expression ')'

Parameters
rFunctionThe string to parse
Exceptions
ParseErrorif an invalid expression is given.
Returns
the generated function object.

Definition at line 402 of file RowFunctionParser.cxx.

References pq_sdbc_driver::OUStringToOString().

Referenced by connectivity::ODatabaseMetaDataBase::getTypeInfo().


The documentation for this class was generated from the following files: