Yate
TableEvaluator Class Reference

An SQL-like table evaluator. More...

#include <yatescript.h>

Public Member Functions

 TableEvaluator (const TableEvaluator &original)
 
 TableEvaluator (ExpEvaluator::Parser style)
 
 TableEvaluator (const TokenDict *operators, const TokenDict *unaryOps)
 
virtual ~TableEvaluator ()
 
virtual bool evalWhere (GenObject *context=0)
 
virtual bool evalSelect (ObjList &results, GenObject *context=0)
 
virtual unsigned int evalLimit (GenObject *context=0)
 
void extender (ExpExtender *ext)
 

Protected Attributes

ExpEvaluator m_select
 
ExpEvaluator m_where
 
ExpEvaluator m_limit
 
unsigned int m_limitVal
 

Detailed Description

An SQL-like table evaluator.

An evaluator for multi-row (tables like in SQL) expressions

Constructor & Destructor Documentation

◆ TableEvaluator() [1/3]

TableEvaluator ( const TableEvaluator & original)

Copy constructor, duplicates current state of original

Parameters
originalEvaluator to copy

References TableEvaluator().

Referenced by TableEvaluator().

◆ TableEvaluator() [2/3]

Constructor from a parser synatx style

Parameters
styleStyle of evaluator to create

◆ TableEvaluator() [3/3]

TableEvaluator ( const TokenDict * operators,
const TokenDict * unaryOps )

Constructor from operator description table

Parameters
operatorsPointer to operators synatx table
unaryOpsPointer to unary operators dictionary

◆ ~TableEvaluator()

virtual ~TableEvaluator ( )
virtual

Destructor

Member Function Documentation

◆ evalLimit()

virtual unsigned int evalLimit ( GenObject * context = 0)
virtual

Evaluate the LIMIT expression and cache the result

Parameters
contextPointer to arbitrary object to be passed to called methods
Returns
Desired maximum number or result rows

◆ evalSelect()

virtual bool evalSelect ( ObjList & results,
GenObject * context = 0 )
virtual

Evaluate the SELECT (results) expression

Parameters
resultsList to fill with results row
contextPointer to arbitrary object to be passed to called methods
Returns
True if evaluation succeeded

◆ evalWhere()

virtual bool evalWhere ( GenObject * context = 0)
virtual

Evaluate the WHERE (selector) expression

Parameters
contextPointer to arbitrary object to be passed to called methods
Returns
True if the current row is part of selection

◆ extender()

void extender ( ExpExtender * ext)

Set the expression extender to use in all evaluators

Parameters
extPointer to the extender to use, NULL to remove current

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