A base class for unary functions. More...
#include <UnaryFunction.h>
Public Types | |
typedef R | 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... | |
Expression * | getArg (std::size_t i) const |
It returns the i-th function argument. More... | |
Expression * | getArgument () const |
It returns the function associated 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... | |
UnaryFunction & | operator= (const UnaryFunction &rhs) |
Expression * | operator[] (std::size_t i) const |
It returns the i-th function argument. More... | |
void | setArgument (Expression *arg) |
It sets the function argument. More... | |
TE_DEFINE_VISITABLE | UnaryFunction (const std::string &name, Expression *arg) |
Constructor. More... | |
UnaryFunction (const std::string &name, const Expression &arg) | |
Constructor. More... | |
UnaryFunction (const UnaryFunction &rhs) | |
Copy constructor. More... | |
virtual | ~UnaryFunction () |
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 base class for unary functions.
Definition at line 43 of file UnaryFunction.h.
|
inherited |
Definition at line 58 of file BaseVisitable.h.
|
inherited |
Definition at line 57 of file BaseVisitable.h.
te::da::UnaryFunction::UnaryFunction | ( | const std::string & | name, |
Expression * | arg | ||
) |
Constructor.
name | The function name. |
arg | The single function argument. |
Definition at line 32 of file UnaryFunction.cpp.
References te::da::Function::m_args.
te::da::UnaryFunction::UnaryFunction | ( | const std::string & | name, |
const Expression & | arg | ||
) |
Constructor.
name | The function name. |
arg | The single function argument. |
Definition at line 39 of file UnaryFunction.cpp.
References te::da::Expression::clone(), and te::da::Function::m_args.
te::da::UnaryFunction::UnaryFunction | ( | const UnaryFunction & | rhs | ) |
Copy constructor.
Definition at line 45 of file UnaryFunction.cpp.
|
virtual |
Virtual Destructor.
Definition at line 50 of file UnaryFunction.cpp.
|
pure virtualinherited |
It call the visit method from the guest object.
guest | The guest or visitor. |
|
inherited |
It adds the argument to the function list of arguments.
arg | The argument to be added. |
Definition at line 79 of file Function.cpp.
Referenced by te::map::QueryEncoder::getExpression(), te::da::ObjectIdSet::getExpressionByInClause(), te::da::ObjectIdSet::setExpressionByInClause(), and te::map::QueryEncoder::visit().
|
virtual |
It creates a new copy of this expression.
Reimplemented from te::da::Function.
Reimplemented in te::da::Variance, and te::da::UnaryOp.
Definition at line 60 of file UnaryFunction.cpp.
|
inherited |
It returns the i-th function argument.
i | The argument position. |
Definition at line 67 of file Function.cpp.
Referenced by te::da::SpatialRestrictionVisitor::getGeometryRestriction(), te::da::SpatialRestrictionVisitor::getPropertyName(), te::da::SpatialRestrictionVisitor::isFromEnvelope(), and te::serialize::xml::Save().
te::da::Expression * te::da::UnaryFunction::getArgument | ( | ) | const |
It returns the function associated argument.
Definition at line 65 of file UnaryFunction.cpp.
|
inlineinherited |
It returns the function name.
Definition at line 79 of file Function.h.
Referenced by te::da::AttributeRestrictionVisitor::getOperator(), te::da::SpatialRestrictionVisitor::getSpatialRelation(), te::da::AttributeRestrictionVisitor::isAttributeRestrictionFunction(), te::da::SpatialRestrictionVisitor::isSpatialRestrictionFunction(), te::serialize::xml::Save(), te::da::SpatialQueryProcessor::supportsSpatialTopologicOperatos(), te::ogr::SQLVisitor::visit(), and te::da::SQLVisitor::visit().
|
inherited |
It returns the number of arguments informed to the function.
Definition at line 62 of file Function.cpp.
Referenced by te::da::ObjectIdSet::getExpressionByInClause(), te::da::SpatialRestrictionVisitor::getGeometryRestriction(), te::da::SpatialRestrictionVisitor::getPropertyName(), te::da::SpatialRestrictionVisitor::isFromEnvelope(), te::serialize::xml::Save(), te::da::ObjectIdSet::setExpressionByInClause(), te::da::FunctionNoArgsEncoder::toSQL(), te::da::UnaryOpEncoder::toSQL(), te::da::BinaryOpEncoder::toSQL(), te::da::FunctionEncoder::toSQL(), te::da::TemplateEncoder::toSQL(), te::ogr::SQLVisitor::visit(), te::da::AttributeRestrictionVisitor::visit(), te::da::SpatialRestrictionVisitor::visit(), and te::da::SQLVisitor::visit().
te::da::UnaryFunction & te::da::UnaryFunction::operator= | ( | const UnaryFunction & | rhs | ) |
Assignment operator.
Definition at line 54 of file UnaryFunction.cpp.
References te::da::Function::operator=().
Referenced by te::da::UnaryOp::operator=(), te::da::Variance::operator=(), te::da::ST_Collect::operator=(), te::da::Sum::operator=(), te::da::StdDev::operator=(), te::da::ST_Union::operator=(), te::da::ST_NumGeometries::operator=(), te::da::ST_MakePolygon::operator=(), te::da::ST_DumpRings::operator=(), te::da::ST_Dump::operator=(), te::da::IsNull::operator=(), te::da::ST_Boundary::operator=(), te::da::Min::operator=(), te::da::Max::operator=(), te::da::Avg::operator=(), and te::da::Count::operator=().
|
inherited |
It returns the i-th function argument.
i | The argument position. |
Definition at line 73 of file Function.cpp.
void te::da::UnaryFunction::setArgument | ( | Expression * | arg | ) |
It sets the function argument.
arg | The single function argument. |
Definition at line 71 of file UnaryFunction.cpp.
|
protectedinherited |
The list of arguments.
Definition at line 118 of file Function.h.
Referenced by te::da::BinaryFunction::BinaryFunction(), te::da::Function::Function(), te::da::Like::Like(), te::da::Function::operator=(), te::da::ST_Area::ST_Area(), te::da::ST_Buffer::ST_Buffer(), te::da::ST_Centroid::ST_Centroid(), te::da::ST_ConvexHull::ST_ConvexHull(), te::da::ST_DistanceBuffer::ST_DistanceBuffer(), te::da::ST_Envelope::ST_Envelope(), te::da::ST_Length::ST_Length(), te::da::ST_Perimeter::ST_Perimeter(), te::da::ST_Relate::ST_Relate(), te::da::ST_Transform::ST_Transform(), te::da::Substring::Substring(), and UnaryFunction().
|
protectedinherited |
The function name. May be an operator symbol or just a regular name like ST_Intersects.
Definition at line 117 of file Function.h.
Referenced by te::da::Function::operator=().