All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::da::UnaryOp Class Referenceabstract

A base class for unary operators. More...

#include <UnaryOp.h>

Inheritance diagram for te::da::UnaryOp:
te::da::UnaryFunction te::da::Function te::da::Expression te::common::BaseVisitable< QueryVisitor > te::da::Not

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...
 
Expressionclone () const
 It creates a new copy of this expression. More...
 
ExpressiongetArg (std::size_t i) const
 It returns the i-th function argument. More...
 
ExpressiongetArgument () 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...
 
UnaryOpoperator= (const UnaryOp &rhs)
 
Expressionoperator[] (std::size_t i) const
 It returns the i-th function argument. More...
 
void setArgument (Expression *arg)
 It sets the function argument. More...
 
 UnaryOp (const std::string &name, Expression *arg)
 Constructor. More...
 
 UnaryOp (const std::string &name, const Expression &arg)
 Constructor. More...
 
 UnaryOp (const UnaryOp &rhs)
 Copy constructor. More...
 
virtual ~UnaryOp ()
 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...
 

Detailed Description

A base class for unary operators.

See also
UnaryFunction

Definition at line 43 of file UnaryOp.h.

Member Typedef Documentation

typedef R te::common::BaseVisitable< QueryVisitor , R >::ReturnType
inherited

Definition at line 58 of file BaseVisitable.h.

Definition at line 57 of file BaseVisitable.h.

Constructor & Destructor Documentation

te::da::UnaryOp::UnaryOp ( const std::string &  name,
Expression arg 
)
inline

Constructor.

Parameters
nameThe operator name.
argThe single operator argument.
Note
The UnaryOp will take the ownership of the given argument.

Definition at line 57 of file UnaryOp.h.

te::da::UnaryOp::UnaryOp ( const std::string &  name,
const Expression arg 
)
inline

Constructor.

Parameters
nameThe operator name.
argThe single operator argument.

Definition at line 65 of file UnaryOp.h.

te::da::UnaryOp::UnaryOp ( const UnaryOp rhs)

Copy constructor.

Definition at line 29 of file UnaryOp.cpp.

virtual te::da::UnaryOp::~UnaryOp ( )
inlinevirtual

Virtual Destructor.

Definition at line 71 of file UnaryOp.h.

Member Function Documentation

virtual ReturnType te::common::BaseVisitable< QueryVisitor , R >::accept ( VisitorType guest) const
pure virtualinherited

It call the visit method from the guest object.

Parameters
guestThe guest or visitor.
Returns
Any valid value define by the template type R.
void te::da::Function::add ( Expression arg)
inherited

It adds the argument to the function list of arguments.

Parameters
argThe argument to be added.
Note
The Function will take the ownership of the given argument.

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().

te::da::Expression * te::da::UnaryOp::clone ( ) const
virtual

It creates a new copy of this expression.

Reimplemented from te::da::UnaryFunction.

Definition at line 40 of file UnaryOp.cpp.

te::da::Expression * te::da::Function::getArg ( std::size_t  i) const
inherited

It returns the i-th function argument.

Parameters
iThe argument position.
Returns
The it-th function argument.

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
inherited

It returns the function associated argument.

Returns
The function associated argument.

Definition at line 65 of file UnaryFunction.cpp.

te::da::UnaryOp & te::da::UnaryOp::operator= ( const UnaryOp rhs)

Assignment operator.

Definition at line 34 of file UnaryOp.cpp.

References te::da::UnaryFunction::operator=().

Referenced by te::da::Not::operator=().

te::da::Expression * te::da::Function::operator[] ( std::size_t  i) const
inherited

It returns the i-th function argument.

Parameters
iThe argument position.
Returns
The it-th function argument.

Definition at line 73 of file Function.cpp.

void te::da::UnaryFunction::setArgument ( Expression arg)
inherited

It sets the function argument.

Parameters
argThe single function argument.
Note
The UnaryFunction will take the ownership of the given argument.

Definition at line 71 of file UnaryFunction.cpp.

Member Data Documentation

std::string te::da::Function::m_name
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=().


The documentation for this class was generated from the following files: