#include <Expression.h>
Public Types | |
enum | MatchType { PLAIN, INVERTED } |
Public Member Functions | |
FilterItemsByExpression (const Expression &expression) | |
FilterItemsByExpression (const std::string &expression) | |
FilterItemsByExpression (Consumer< ITEM, TAG > &cons, const Expression &expression) | |
FilterItemsByExpression (Consumer< ITEM, TAG > &cons, const std::string &expression) | |
virtual | ~FilterItemsByExpression () |
void | setExpression (const Expression &expression) |
Set the expression to use for this filter. | |
void | setExpression (const std::string &expression) |
Set the expression to use for this filter. | |
void | setMatchType (MatchType type) |
Set the type of match. | |
int | countMatched () const |
Return the number of items that matched the expression. | |
Protected Member Functions | |
bool | match (const OpSet< TAG > &tags) const |
virtual void | consumeItemUntagged (const ITEM &item) |
Process an untagged item. | |
virtual void | consumeItem (const ITEM &item, const OpSet< TAG > &tags) |
Process a tagged item, with its tags. | |
virtual void | consumeItemsUntagged (const OpSet< ITEM > &items) |
Process a set of items, all with no tags. | |
virtual void | consumeItems (const OpSet< ITEM > &items, const OpSet< TAG > &tags) |
Process a set of items identically tagged, with their tags. | |
Protected Attributes | |
Expression | expr |
MatchType | matchType |
int | matched |
enum Tagcoll::FilterItemsByExpression::MatchType |
Tagcoll::FilterItemsByExpression< ITEM, TAG >::FilterItemsByExpression | ( | const Expression & | expression | ) | [inline] |
Tagcoll::FilterItemsByExpression< ITEM, TAG >::FilterItemsByExpression | ( | const std::string & | expression | ) | [inline] |
Tagcoll::FilterItemsByExpression< ITEM, TAG >::FilterItemsByExpression | ( | Consumer< ITEM, TAG > & | cons, | |
const Expression & | expression | |||
) | [inline] |
Tagcoll::FilterItemsByExpression< ITEM, TAG >::FilterItemsByExpression | ( | Consumer< ITEM, TAG > & | cons, | |
const std::string & | expression | |||
) | [inline] |
virtual Tagcoll::FilterItemsByExpression< ITEM, TAG >::~FilterItemsByExpression | ( | ) | [inline, virtual] |
bool Tagcoll::FilterItemsByExpression< ITEM, TAG >::match | ( | const OpSet< TAG > & | tags | ) | const [inline, protected] |
virtual void Tagcoll::FilterItemsByExpression< ITEM, TAG >::consumeItemUntagged | ( | const ITEM & | item | ) | [inline, protected, virtual] |
virtual void Tagcoll::FilterItemsByExpression< ITEM, TAG >::consumeItem | ( | const ITEM & | item, | |
const OpSet< TAG > & | tags | |||
) | [inline, protected, virtual] |
virtual void Tagcoll::FilterItemsByExpression< ITEM, TAG >::consumeItemsUntagged | ( | const OpSet< ITEM > & | items | ) | [inline, protected, virtual] |
virtual void Tagcoll::FilterItemsByExpression< ITEM, TAG >::consumeItems | ( | const OpSet< ITEM > & | items, | |
const OpSet< TAG > & | tags | |||
) | [inline, protected, virtual] |
Process a set of items identically tagged, with their tags.
Reimplemented from Tagcoll::Consumer< ITEM, TAG >.
void Tagcoll::FilterItemsByExpression< ITEM, TAG >::setExpression | ( | const Expression & | expression | ) | [inline] |
Set the expression to use for this filter.
expression | The expression to use for matching |
void Tagcoll::FilterItemsByExpression< ITEM, TAG >::setExpression | ( | const std::string & | expression | ) | [inline] |
Set the expression to use for this filter.
expression | The expression to use for matching |
void Tagcoll::FilterItemsByExpression< ITEM, TAG >::setMatchType | ( | MatchType | type | ) | [inline] |
Set the type of match.
type | PLAIN: only keep the items that match the expression INVERTED: only keep the items that do not match the expression |
int Tagcoll::FilterItemsByExpression< ITEM, TAG >::countMatched | ( | ) | const [inline] |
Return the number of items that matched the expression.
It returns the number of items that did not match if INVERTED match is used.
Expression Tagcoll::FilterItemsByExpression< ITEM, TAG >::expr [protected] |
MatchType Tagcoll::FilterItemsByExpression< ITEM, TAG >::matchType [protected] |
int Tagcoll::FilterItemsByExpression< ITEM, TAG >::matched [protected] |