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

A base class for unary functions. More...

#include <UnaryFunction.h>

Inheritance diagram for te::da::UnaryFunction:
te::da::Function te::da::Expression te::common::BaseVisitable< QueryVisitor > te::da::Avg te::da::Count 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::UnaryOp te::da::Variance

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...
 
UnaryFunctionoperator= (const UnaryFunction &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...
 
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...
 

Detailed Description

A base class for unary functions.

See also
Function, UnaryOp

Definition at line 43 of file UnaryFunction.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::UnaryFunction::UnaryFunction ( const std::string &  name,
Expression arg 
)

Constructor.

Parameters
nameThe function name.
argThe single function argument.
Note
The UnaryFunction will take the ownership of the given 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.

Parameters
nameThe function name.
argThe 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.

te::da::UnaryFunction::~UnaryFunction ( )
virtual

Virtual Destructor.

Definition at line 50 of file UnaryFunction.cpp.

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::UnaryFunction::clone ( ) const
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.

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

It returns the function associated argument.

Returns
The function associated argument.

Definition at line 65 of file UnaryFunction.cpp.

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)

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: