Yate
Public Member Functions | Protected Attributes
TableEvaluator Class Reference

An SQL-like table evaluator. More...

#include <yatescript.h>

List of all members.

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 ( const TableEvaluator original)

Copy constructor, duplicates current state of original

Parameters:
originalEvaluator to copy

Constructor from a parser synatx style

Parameters:
styleStyle of evaluator to create
TableEvaluator ( const TokenDict operators,
const TokenDict unaryOps 
)

Constructor from operator description table

Parameters:
operatorsPointer to operators synatx table
unaryOpsPointer to unary operators dictionary
virtual ~TableEvaluator ( ) [virtual]

Destructor


Member Function Documentation

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
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
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
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: