27 #include "../../common/STLUtils.h"
69 assert(i < m_args.size());
75 assert(i < m_args.size());
81 m_args.push_back(arg);
Expression * getArg(std::size_t i) const
It returns the i-th function argument.
void add(Expression *arg)
It adds the argument to the function list of arguments.
A class that models a Function expression.
TE_DEFINE_VISITABLE Function(const std::string &name)
Constructor.
std::string m_name
The function name. May be an operator symbol or just a regular name like ST_Intersects.
This is an abstract class that models a query expression.
Expression * clone() const
It creates a new copy of this expression.
A class that models a Function expression.
virtual ~Function()
Virtual Destructor.
Expression * operator[](std::size_t i) const
It returns the i-th function argument.
Function & operator=(const Function &rhs)
std::vector< Expression * > m_args
The list of arguments.
void Clone(const std::vector< T * > &src, std::vector< T * > &dst)
This function can be applied to a vector of pointers.
void FreeContents(boost::unordered_map< K, V * > &m)
This function can be applied to a map of pointers. It will delete each pointer in the map...
std::size_t getNumArgs() const
It returns the number of arguments informed to the function.