A class that models a Function expression. More...
#include <Function.h>
Public Types | |
typedef void | ReturnType |
typedef QueryVisitor | VisitorType |
Public Member Functions | |
virtual ReturnType | accept (VisitorType &guest) const =0 |
It call the visit method from the guest object. More... | |
void | add (Expression *arg) |
It adds the argument to the function list of arguments. More... | |
Expression * | clone () const |
It creates a new copy of this expression. More... | |
TE_DEFINE_VISITABLE | Function (const std::string &name) |
Constructor. More... | |
Function (const Function &rhs) | |
Copy constructor. More... | |
Expression * | getArg (std::size_t i) const |
It returns the i-th function argument. More... | |
const std::string & | getName () const |
It returns the function name. More... | |
std::size_t | getNumArgs () const |
It returns the number of arguments informed to the function. More... | |
Function & | operator= (const Function &rhs) |
Expression * | operator[] (std::size_t i) const |
It returns the i-th function argument. More... | |
virtual | ~Function () |
Virtual Destructor. More... | |
Protected Attributes | |
std::vector< Expression * > | m_args |
The list of arguments. More... | |
std::string | m_name |
The function name. May be an operator symbol or just a regular name like ST_Intersects. More... | |
A class that models a Function expression.
Definition at line 47 of file Function.h.
|
inherited |
Definition at line 58 of file BaseVisitable.h.
|
inherited |
Definition at line 57 of file BaseVisitable.h.
|
inline |
Constructor.
name | The function name. |
Definition at line 60 of file Function.h.
te::da::Function::Function | ( | const Function & | rhs | ) |
Copy constructor.
|
virtual |
Virtual Destructor.
|
pure virtualinherited |
It call the visit method from the guest object.
guest | The guest or visitor. |
void te::da::Function::add | ( | Expression * | arg | ) |
It adds the argument to the function list of arguments.
arg | The argument to be added. |
|
virtual |
It creates a new copy of this expression.
Implements te::da::Expression.
Reimplemented in te::da::ST_Area, te::da::ST_IsEmpty, te::da::ST_IsValid, te::da::ST_Length, te::da::ST_Perimeter, te::da::ST_Buffer, te::da::In, te::da::ST_DistanceBuffer, te::da::ST_Relate, te::da::ST_Centroid, te::da::ST_ConvexHull, te::da::ST_Envelope, te::da::ST_MakeValid, te::da::ST_Multi, te::da::LessThanOrEqualTo, te::da::ST_Contains, te::da::ST_Beyond, te::da::ST_DWithin, te::da::GreaterThan, te::da::GreaterThanOrEqualTo, te::da::LessThan, te::da::Mul, te::da::Not, te::da::NotEqualTo, te::da::Or, te::da::ST_Crosses, te::da::ST_Difference, te::da::ST_Disjoint, te::da::ST_EnvelopeIntersects, te::da::ST_Equals, te::da::ST_Intersection, te::da::ST_Intersects, te::da::ST_Overlaps, te::da::ST_SetSRID, te::da::ST_Touches, te::da::ST_Transform, te::da::ST_Within, te::da::Sub, te::da::IsNull, te::da::Max, te::da::Min, te::da::ST_Boundary, te::da::ST_Collect, te::da::ST_Dump, te::da::ST_DumpRings, te::da::ST_MakePolygon, te::da::ST_NumGeometries, te::da::ST_Union, te::da::StdDev, te::da::Sum, te::da::Variance, te::da::Like, te::da::UnaryFunction, te::da::UnaryOp, and te::da::Substring.
Expression* te::da::Function::getArg | ( | std::size_t | i | ) | const |
It returns the i-th function argument.
i | The argument position. |
|
inline |
std::size_t te::da::Function::getNumArgs | ( | ) | const |
It returns the number of arguments informed to the function.
Expression* te::da::Function::operator[] | ( | std::size_t | i | ) | const |
It returns the i-th function argument.
i | The argument position. |
|
protected |
The list of arguments.
Definition at line 118 of file Function.h.
|
protected |
The function name. May be an operator symbol or just a regular name like ST_Intersects.
Definition at line 117 of file Function.h.