26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_FUNCTIONDEFN_H
27 #define __TERRALIB_DATAACCESS_INTERNAL_FUNCTIONDEFN_H
30 #include "../../datatype/Enums.h"
31 #include "../Config.h"
38 #include <boost/noncopyable.hpp>
45 class FunctionParameter;
70 bool isAggregate =
false,
71 std::string* description = 0);
81 const std::string&
getName()
const {
return m_name; }
90 void setName(
const std::string& name) { m_name = name; }
The definition of a function that can be used in a query object.
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.
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.
std::string * getDescription() const
It returns a brief description about the function.
void setName(const std::string &name)
It sets the function name;.
std::vector< FunctionParameter * > m_params
The list of arguments.
FunctionParameter * operator[](std::size_t i) const
It returns the i-th function parameter.
int m_retValType
Data type of the return value.
std::string * m_description
A brief description of the function.
~FunctionDefn()
Destructor.
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.
const std::string & getName() const
It returns the function name.
A FunctionParameter models the parameter of a function definition.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.