26#ifndef __TERRALIB_DATAACCESS_INTERNAL_FUNCTIONDEFN_H
27#define __TERRALIB_DATAACCESS_INTERNAL_FUNCTIONDEFN_H
38#include <boost/noncopyable.hpp>
71 std::string* description = 0);
std::string m_name
The function name. It may be an operator symbol or just a regular name like st_intersects.
void add(FunctionParameter *p)
It adds the parameter to the function list of parameters.
FunctionDefn(const std::string &name, int retValType=te::dt::VOID_TYPE, bool isAggregate=false, std::string *description=0)
Constructor.
std::string * getDescription() const
It returns a brief description about the function.
void setDescription(std::string *description)
It sets a brief description about the function.
void setRetValType(int r)
It sets the data type of the return value.
std::size_t getNumParams() const
It returns the number of parameters for the function.
bool isAggregate() const
It returns true if it is an aggregate function, otherwise, returns false.
void setName(const std::string &name)
It sets the function name;.
std::vector< FunctionParameter * > m_params
The list of arguments.
int m_retValType
Data type of the return value.
FunctionParameter * operator[](std::size_t i) const
It returns the i-th function parameter.
std::string * m_description
A brief description of the function.
~FunctionDefn()
Destructor.
const std::string & getName() const
It returns the function name.
bool m_isAggregate
A flag that defines if the function is an aggregate one.
int getRetValType() const
It returns the data type of the return value.
void SetIsAggregate(bool a)
It tells if the function is an aggregate function or not.
A FunctionParameter models the parameter of a function definition.
General enumerations for the data type module.
Namespace for the DataAccess API of TerraLib.
Configuration flags for the Data Access module of TerraLib.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.