Loading...
Searching...
No Matches
casacore::TableParseFunc Class Reference
tables package (libcasa_tables) » TaQL_module » TaQL_module_internal_classes

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:

- tables/TaQL/TableParseFunc.h