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

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

Increment the reference count for this object.

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

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

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

Provide a string representation of this expression.

virtual bool tagcoll::ExpressionImpl::eval ( const TagexprContext context  )  const [pure virtual]

Evaluates the expression on a recursive context.

See also:
TagexprContext

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


Member Data Documentation

int tagcoll::ExpressionImpl::_ref [protected]


The documentation for this class was generated from the following file:
Generated on Fri Feb 8 10:50:44 2008 for libtagcoll by  doxygen 1.5.4