te::da::Cast Class Referenceabstract

Cast a expression function. More...

#include <Cast.h>

Inheritance diagram for te::da::Cast:
te::da::BinaryFunction te::da::Function te::da::Expression te::common::BaseVisitable< QueryVisitor >

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...
 
TE_DEFINE_VISITABLE Cast (Expression *value, Expression *type)
 Constructor. More...
 
 Cast (const Expression &value, const Expression &type)
 Constructor. More...
 
 Cast (const Cast &rhs)
 Copy constructor. 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...
 
ExpressiongetFirst () 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...
 
ExpressiongetSecond () const
 It returns the second function argument. More...
 
Castoperator= (const Cast &rhs)
 
Expressionoperator[] (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...
 
 ~Cast ()
 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

Cast a expression function.

This function is just a syntatic-suggar.

See also
Function

Definition at line 46 of file Cast.h.

Member Typedef Documentation

◆ ReturnType

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

Definition at line 58 of file BaseVisitable.h.

◆ VisitorType

Definition at line 57 of file BaseVisitable.h.

Constructor & Destructor Documentation

◆ Cast() [1/3]

TE_DEFINE_VISITABLE te::da::Cast::Cast ( Expression value,
Expression type 
)
inline

Constructor.

Parameters
valueValue expression.
typeOutput cast type expression.

Definition at line 58 of file Cast.h.

◆ Cast() [2/3]

te::da::Cast::Cast ( const Expression value,
const Expression type 
)
inline

Constructor.

Parameters
valueValue expression.
typeOutput cast type expression.

Definition at line 66 of file Cast.h.

◆ Cast() [3/3]

te::da::Cast::Cast ( const Cast rhs)

Copy constructor.

◆ ~Cast()

te::da::Cast::~Cast ( )
inline

Destructor.

Definition at line 72 of file Cast.h.

Member Function Documentation

◆ accept()

virtual ReturnType te::common::BaseVisitable< QueryVisitor , void >::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.

◆ add()

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.

◆ clone()

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

It creates a new copy of this expression.

Reimplemented from te::da::BinaryFunction.

◆ getArg()

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.

◆ getFirst()

Expression* te::da::BinaryFunction::getFirst ( ) const
inherited

It returns the first function argument.

Returns
The first function argument.

◆ getName()

const std::string& te::da::Function::getName ( ) const
inlineinherited

It returns the function name.

Returns
The function name.

Definition at line 79 of file Function.h.

◆ getNumArgs()

std::size_t te::da::Function::getNumArgs ( ) const
inherited

It returns the number of arguments informed to the function.

Returns
The number of parameters.

◆ getSecond()

Expression* te::da::BinaryFunction::getSecond ( ) const
inherited

It returns the second function argument.

Returns
The second function argument.

◆ operator=()

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

Assignment operator.

◆ operator[]()

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.

◆ setFirst()

void te::da::BinaryFunction::setFirst ( Expression arg)
inherited

It sets the first function argument.

Parameters
argThe first function argument.
Note
The BinaryFunction will take the ownership of the given argument.

◆ setSecond()

void te::da::BinaryFunction::setSecond ( Expression arg)
inherited

It sets the second function argument.

Parameters
argThe second function argument.
Note
The BinaryFunction will take the ownership of the given argument.

Member Data Documentation

◆ m_args

std::vector<Expression*> te::da::Function::m_args
protectedinherited

The list of arguments.

Definition at line 118 of file Function.h.

◆ m_name

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.


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