tagcoll::ExpressionImpl Class Reference

Interface for parsed tag expressions. More...

#include <expression.h>

Inheritance diagram for tagcoll::ExpressionImpl:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ExpressionImpl ()
virtual ~ExpressionImpl ()
void ref () throw ()
 Increment the reference count for this object.
bool unref () throw ()
 Decrement the reference count for this object, returning true when it reaches 0.
virtual std::string format () const =0
 Provide a string representation of this expression.
virtual bool eval (const TagexprContext &context) const =0
 Evaluates the expression on a recursive context.
virtual bool eval (const std::set< std::string > &tags) const =0
 Evaluates the expression on a set of tags.

Protected Attributes

int _ref

Detailed Description

Interface for parsed tag expressions.


Constructor & Destructor Documentation

tagcoll::ExpressionImpl::ExpressionImpl (  )  [inline]
virtual tagcoll::ExpressionImpl::~ExpressionImpl (  )  [inline, virtual]

Member Function Documentation

virtual bool tagcoll::ExpressionImpl::eval ( const std::set< std::string > &  tags  )  const [pure virtual]

Evaluates the expression on a set of tags.

Returns:
true if the expression matches the tags, false otherwise
virtual bool tagcoll::ExpressionImpl::eval ( const TagexprContext context  )  const [pure virtual]

Evaluates the expression on a recursive context.

See also:
TagexprContext

Referenced by tagcoll::Expression::operator()().

virtual std::string tagcoll::ExpressionImpl::format (  )  const [pure virtual]

Provide a string representation of this expression.

Referenced by tagcoll::Expression::format().

void tagcoll::ExpressionImpl::ref (  )  throw () [inline]

Increment the reference count for this object.

References _ref.

Referenced by tagcoll::Expression::Expression(), and tagcoll::Expression::operator=().

bool tagcoll::ExpressionImpl::unref (  )  throw () [inline]

Decrement the reference count for this object, returning true when it reaches 0.

References _ref.

Referenced by tagcoll::Expression::operator=(), and tagcoll::Expression::~Expression().


Member Data Documentation

Referenced by ref(), and unref().


The documentation for this class was generated from the following file:
Generated on Wed May 12 05:32:36 2010 for libtagcoll by  doxygen 1.6.3