|
Public Types |
enum | MatchType { PLAIN,
INVERTED
} |
Public Member Functions |
| FilterTagsByExpression (const Expression &expression) |
| FilterTagsByExpression (const std::string &expression) |
| FilterTagsByExpression (Consumer< ITEM, TAG > &cons, const Expression &expression) |
| FilterTagsByExpression (Consumer< ITEM, TAG > &cons, const std::string &expression) |
virtual | ~FilterTagsByExpression () |
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 tags that matched the expression.
|
Protected Member Functions |
bool | match (const TAG &tag) 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 |
This is a slight abuse of tag expressions, but it can prove useful to remove tags matching, for example, "special::not-yet-tagged*" or "!(use::gaming || game::*)".