casacore
Loading...
Searching...
No Matches
casacore::TableParseFunc Class Reference

More...

#include <TableParseFunc.h>

Static Public Member Functions

static TableExprNode makeFuncNode (TableParseQuery *, const String &name, const TableExprNodeSet &arguments, const Vector< int > &ignoreFuncs, const TableExprInfo &tabInfo, const TaQLStyle &)
 Make a function node.
static TableExprNode makeUDFNode (TableParseQuery *, const String &name, const TableExprNodeSet &arguments, const TableExprInfo &tabInfo, const TaQLStyle &)
 Try to make a UDF function node for the given function name and arguments.
static TableExprFuncNode::FunctionType findFunc (const String &name, uInt narguments, const Vector< Int > &ignoreFuncs)
 Find the function code belonging to a function name.

Detailed Description

Class containing static functions to handle TaQL functions.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Synopsis

This class contains a few functions to recognize TaQL functions. A function name can be preceded by "shorthand.udflib." telling the table to operate on and the UDF shared library containing the function. Note that most functions are table agnostic, but a few (such as rowid()) are not. Also User Defined Functions (UDFs) can be table aware. Both shorthand and udflib are optional. If a single part is given, it is first tried as a shorthand.

It looks up the function name and creates a TableExprFuncNode object for it. If the function name is not standard, it is tried to create a TableExprUDFNode object. Otherwise an exception is thrown.

Definition at line 65 of file TableParseFunc.h.

Member Function Documentation

◆ findFunc()

TableExprFuncNode::FunctionType casacore::TableParseFunc::findFunc ( const String & name,
uInt narguments,
const Vector< Int > & ignoreFuncs )
static

Find the function code belonging to a function name.

Functions to be ignored can be given (as function type values). If the function name is unknown, NRFUNC is returned.

References casacore::name().

◆ makeFuncNode()

TableExprNode casacore::TableParseFunc::makeFuncNode ( TableParseQuery * ,
const String & name,
const TableExprNodeSet & arguments,
const Vector< int > & ignoreFuncs,
const TableExprInfo & tabInfo,
const TaQLStyle &  )
static

Make a function node.

The name is split into shorthand, udflib and function as explained in the synopsis.

References casacore::name().

◆ makeUDFNode()

TableExprNode casacore::TableParseFunc::makeUDFNode ( TableParseQuery * ,
const String & name,
const TableExprNodeSet & arguments,
const TableExprInfo & tabInfo,
const TaQLStyle &  )
static

Try to make a UDF function node for the given function name and arguments.

The function name can contain "shorthand." and must contain "udflib.".

References casacore::name().


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