A base class for binary functions. More...
#include <BinaryFunction.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... | |
| TE_DEFINE_VISITABLE | BinaryFunction (const std::string &name, Expression *arg1, Expression *arg2) | 
| Constructor.  More... | |
| BinaryFunction (const std::string &name, const Expression &arg1, const Expression &arg2) | |
| Constructor.  More... | |
| BinaryFunction (const BinaryFunction &rhs) | |
| Copy constructor.  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 * | getFirst () const | 
| It returns the first 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... | |
| Expression * | getSecond () const | 
| It returns the second function argument.  More... | |
| BinaryFunction & | operator= (const BinaryFunction &rhs) | 
| Expression * | operator[] (std::size_t i) const | 
| It returns the i-th function argument.  More... | |
| void | setFirst (Expression *arg) | 
| It sets the first function argument.  More... | |
| void | setSecond (Expression *arg) | 
| It sets the second function argument.  More... | |
| virtual | ~BinaryFunction () | 
| 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 binary functions.
Definition at line 43 of file BinaryFunction.h.
      
  | 
  inherited | 
Definition at line 58 of file BaseVisitable.h.
      
  | 
  inherited | 
Definition at line 57 of file BaseVisitable.h.
| te::da::BinaryFunction::BinaryFunction | ( | const std::string & | name, | 
| Expression * | arg1, | ||
| Expression * | arg2 | ||
| ) | 
Constructor.
| name | The function name. | 
| arg1 | The first argument. | 
| arg2 | The second argument. | 
Definition at line 32 of file BinaryFunction.cpp.
References te::da::Function::m_args.
| te::da::BinaryFunction::BinaryFunction | ( | const std::string & | name, | 
| const Expression & | arg1, | ||
| const Expression & | arg2 | ||
| ) | 
Constructor.
| name | The function name. | 
| arg1 | The first argument. | 
| arg2 | The second argument. | 
Definition at line 40 of file BinaryFunction.cpp.
References te::da::Expression::clone(), and te::da::Function::m_args.
| te::da::BinaryFunction::BinaryFunction | ( | const BinaryFunction & | rhs | ) | 
Copy constructor.
Definition at line 47 of file BinaryFunction.cpp.
      
  | 
  virtual | 
Virtual Destructor.
Definition at line 52 of file BinaryFunction.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.
Implements te::da::Expression.
Reimplemented in te::da::LessThanOrEqualTo, te::da::ST_Contains, te::da::BinaryOp, te::da::Div, te::da::EqualTo, te::da::GreaterThan, te::da::GreaterThanOrEqualTo, te::da::LessThan, te::da::Mul, 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_Touches, te::da::ST_Within, and te::da::Sub.
Definition at line 62 of file BinaryFunction.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::BinaryFunction::getFirst | ( | ) | const | 
It returns the first function argument.
Definition at line 67 of file BinaryFunction.cpp.
Referenced by te::ado::SQLVisitor::visit().
      
  | 
  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::Expression * te::da::BinaryFunction::getSecond | ( | ) | const | 
It returns the second function argument.
Definition at line 80 of file BinaryFunction.cpp.
Referenced by te::ado::SQLVisitor::visit().
| te::da::BinaryFunction & te::da::BinaryFunction::operator= | ( | const BinaryFunction & | rhs | ) | 
Assignment operator.
Definition at line 56 of file BinaryFunction.cpp.
References te::da::Function::operator=().
Referenced by te::da::ST_Crosses::operator=(), te::da::ST_Difference::operator=(), te::da::ST_Touches::operator=(), te::da::ST_Overlaps::operator=(), te::da::ST_Intersection::operator=(), te::da::ST_Intersects::operator=(), te::da::ST_Equals::operator=(), te::da::ST_Within::operator=(), te::da::ST_Disjoint::operator=(), te::da::ST_EnvelopeIntersects::operator=(), te::da::BinaryOp::operator=(), and te::da::ST_Contains::operator=().
      
  | 
  inherited | 
It returns the i-th function argument.
| i | The argument position. | 
Definition at line 73 of file Function.cpp.
| void te::da::BinaryFunction::setFirst | ( | Expression * | arg | ) | 
It sets the first function argument.
| arg | The first function argument. | 
Definition at line 73 of file BinaryFunction.cpp.
| void te::da::BinaryFunction::setSecond | ( | Expression * | arg | ) | 
It sets the second function argument.
| arg | The second function argument. | 
Definition at line 86 of file BinaryFunction.cpp.
      
  | 
  protectedinherited | 
The list of arguments.
Definition at line 118 of file Function.h.
Referenced by 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 te::da::UnaryFunction::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=().