ScaleOut C++ Native Client API  5.1
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Pages
sosscli::QueryExpression::Visitor Class Reference

The QueryExpression visitor base class. More...

#include <query_expression.h>

Public Member Functions

virtual ~Visitor ()
 Destructor.
 
virtual void visit (ValueComparand const &v)
 The visitor instance has reached a ValueComparand within the expression tree. More...
 
virtual void visit (ReferenceComparand const &r)
 The visitor instance has reached a ReferenceComparand instance within the expression tree. More...
 
virtual void visit (internal::ComparisonExpression const &c)
 The visitor instance has reached a internal::ComparisonExpression instance within the expression tree. More...
 
virtual void visit (internal::StringContainsExpression const &s)
 The visitor instance has reached a internal::StringContainsExpression instance within the expression tree. More...
 
virtual void visit (internal::AndExpression const &a)
 The visitor instance has reached an internal::AndExpression within the expression tree. More...
 
virtual void visit (internal::OrExpression const &o)
 The visitor instance has reached an internal::OrExpression within the expression tree. More...
 
virtual void visit (internal::EqualsExpression const &e)
 The visitor instance has reached an internal::EqualsExpression within the expression tree. More...
 
virtual void visit (internal::NotExpression const &n)
 The visitor instance has reached a internal::NotExpression within the expression tree. More...
 

Detailed Description

The QueryExpression visitor base class.

QueryExpression visitors should subclass this class and override the virtual member functions as needed. The base class implementation simply traverses through the expression tree. QueryExpression subclasses are required to implement the abstract method QueryExpression::accept.

To visit the nodes in a Filter expression, simply call Filter::accept with an instance of your

QueryExpression::Visitor subclass.

See Also
ValueComparand
ReferenceComparand
Filter

Member Function Documentation

virtual void sosscli::QueryExpression::Visitor::visit ( ValueComparand const &  v)
virtual

The visitor instance has reached a ValueComparand within the expression tree.

Parameters
vA ValueComparand node to visit
virtual void sosscli::QueryExpression::Visitor::visit ( ReferenceComparand const &  r)
virtual

The visitor instance has reached a ReferenceComparand instance within the expression tree.

Parameters
rA ReferenceComparand node to visit
virtual void sosscli::QueryExpression::Visitor::visit ( internal::ComparisonExpression const &  c)
virtual

The visitor instance has reached a internal::ComparisonExpression instance within the expression tree.

Parameters
cA internal::ComparisonExpression node to visit
virtual void sosscli::QueryExpression::Visitor::visit ( internal::StringContainsExpression const &  s)
virtual

The visitor instance has reached a internal::StringContainsExpression instance within the expression tree.

Parameters
sA internal::StringContainsExpression node to visit
virtual void sosscli::QueryExpression::Visitor::visit ( internal::AndExpression const &  a)
virtual

The visitor instance has reached an internal::AndExpression within the expression tree.

Parameters
aAn internal::AndExpression node to visit
virtual void sosscli::QueryExpression::Visitor::visit ( internal::OrExpression const &  o)
virtual

The visitor instance has reached an internal::OrExpression within the expression tree.

Parameters
oAn internal::OrExpression node to visit
virtual void sosscli::QueryExpression::Visitor::visit ( internal::EqualsExpression const &  e)
virtual

The visitor instance has reached an internal::EqualsExpression within the expression tree.

Parameters
eAn internal::EqualsExpression node to visit
virtual void sosscli::QueryExpression::Visitor::visit ( internal::NotExpression const &  n)
virtual

The visitor instance has reached a internal::NotExpression within the expression tree.

Parameters
nA internal::NotExpression node to visit

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