#include <Expression.h>
Inheritance diagram for Tagcoll::FilterTagsByExpression< ITEM, TAG >:


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::*)".
| enum Tagcoll::FilterTagsByExpression::MatchType |
| Tagcoll::FilterTagsByExpression< ITEM, TAG >::FilterTagsByExpression | ( | const Expression & | expression | ) | [inline] |
| Tagcoll::FilterTagsByExpression< ITEM, TAG >::FilterTagsByExpression | ( | const std::string & | expression | ) | [inline] |
| Tagcoll::FilterTagsByExpression< ITEM, TAG >::FilterTagsByExpression | ( | Consumer< ITEM, TAG > & | cons, | |
| const Expression & | expression | |||
| ) | [inline] |
| Tagcoll::FilterTagsByExpression< ITEM, TAG >::FilterTagsByExpression | ( | Consumer< ITEM, TAG > & | cons, | |
| const std::string & | expression | |||
| ) | [inline] |
| virtual Tagcoll::FilterTagsByExpression< ITEM, TAG >::~FilterTagsByExpression | ( | ) | [inline, virtual] |
| bool Tagcoll::FilterTagsByExpression< ITEM, TAG >::match | ( | const TAG & | tag | ) | const [inline, protected] |
| virtual void Tagcoll::FilterTagsByExpression< ITEM, TAG >::consumeItemUntagged | ( | const ITEM & | item | ) | [inline, protected, virtual] |
| virtual void Tagcoll::FilterTagsByExpression< ITEM, TAG >::consumeItem | ( | const ITEM & | item, | |
| const OpSet< TAG > & | tags | |||
| ) | [inline, protected, virtual] |
| virtual void Tagcoll::FilterTagsByExpression< ITEM, TAG >::consumeItemsUntagged | ( | const OpSet< ITEM > & | items | ) | [inline, protected, virtual] |
| virtual void Tagcoll::FilterTagsByExpression< 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::FilterTagsByExpression< ITEM, TAG >::setExpression | ( | const Expression & | expression | ) | [inline] |
Set the expression to use for this filter.
| expression | The expression to use for matching |
| void Tagcoll::FilterTagsByExpression< 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::FilterTagsByExpression< ITEM, TAG >::setMatchType | ( | MatchType | type | ) | [inline] |
Set the type of match.
| type | PLAIN: only keep the tags that match the expression INVERTED: only keep the tags that do not match the expression |
| int Tagcoll::FilterTagsByExpression< ITEM, TAG >::countMatched | ( | ) | const [inline] |
Return the number of tags that matched the expression.
It returns the number oftags that did not match if INVERTED match is used.
Expression Tagcoll::FilterTagsByExpression< ITEM, TAG >::expr [protected] |
MatchType Tagcoll::FilterTagsByExpression< ITEM, TAG >::matchType [protected] |
int Tagcoll::FilterTagsByExpression< ITEM, TAG >::matched [protected] |
1.5.1