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; }
132 void setDescription(std::string* description);
174 #endif // __TERRALIB_DATAACCESS_INTERNAL_FUNCTIONDEFN_H
std::vector< FunctionParameter * > m_params
The list of arguments.
std::string * m_description
A brief description of the function.
int getRetValType() const
It returns the data type of the return value.
void setName(const std::string &name)
It sets the function name;.
A FunctionParameter models the parameter of a function definition.
bool isAggregate() const
It returns true if it is an aggregate function, otherwise, returns false.
const std::string & getName() const
It returns the function name.
The definition of a function that can be used in a query object.
std::string * getDescription() const
It returns a brief description about the function.
FunctionParameter * operator[](std::size_t i) const
It returns the i-th function parameter.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.
bool m_isAggregate
A flag that defines if the function is an aggregate one.
int m_retValType
Data type of the return value.
void setRetValType(int r)
It sets the data type of the return value.
void SetIsAggregate(bool a)
It tells if the function is an aggregate function or not.
void add(FunctionParameter *p)
It adds the parameter to the function list of parameters.
std::string m_name
The function name. It may be an operator symbol or just a regular name like st_intersects.
std::size_t getNumParams() const
It returns the number of parameters for the function.