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


Public Member Functions | |
| Filter () | |
| Build an incomplete filter. | |
| Filter (Consumer< ITEM, TAG > &consumer) | |
| Build a filter passing the filtered stream to the given consumer. | |
| virtual | ~Filter () |
| bool | isComplete () |
| Return true if the filter is not incomplete. | |
| virtual Consumer< ITEM, TAG > & | getConsumer () const |
| Access the filter's consumer. | |
| virtual void | setConsumer (Consumer< ITEM, TAG > &consumer) |
| Set or change the filter's consumer. | |
Protected Member Functions | |
| 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. | |
Protected Attributes | |
| Consumer< ITEM, TAG > * | consumer |
The filter will not perform any memory management on its consumer: the caller must make sure that the lifetime of the Consumer is longer than the one of the Filter.
| Tagcoll::Filter< ITEM, TAG >::Filter | ( | ) | [inline] |
Build an incomplete filter.
This is useful as an intermediate step when constructing filters, but an incomplete filter should never be used: it will not even throw an expection: it will segfault.
In doubt, use the other version of the constructor.
| Tagcoll::Filter< ITEM, TAG >::Filter | ( | Consumer< ITEM, TAG > & | consumer | ) | [inline] |
Build a filter passing the filtered stream to the given consumer.
| virtual Tagcoll::Filter< ITEM, TAG >::~Filter | ( | ) | [inline, virtual] |
| virtual void Tagcoll::Filter< ITEM, TAG >::consumeItemUntagged | ( | const ITEM & | item | ) | [inline, protected, virtual] |
Process an untagged item.
Implements Tagcoll::Consumer< ITEM, TAG >.
Reimplemented in Tagcoll::AddDerived< ITEM >, Tagcoll::RemoveDerived< ITEM >, Tagcoll::FilterItemsByExpression< ITEM, TAG >, Tagcoll::FilterTagsByExpression< ITEM, TAG >, Tagcoll::Substitute< ITEM, TAG >, Tagcoll::UntaggedRemover< ITEM, TAG >, Tagcoll::UnfacetedRemover< ITEM >, Tagcoll::AddImplied< ITEM, TAG >, Tagcoll::RemoveImplied< ITEM, TAG >, and Tagcoll::PatchList< ITEM, TAG >.
| virtual void Tagcoll::Filter< ITEM, TAG >::consumeItem | ( | const ITEM & | item, | |
| const OpSet< TAG > & | tags | |||
| ) | [inline, protected, virtual] |
Process a tagged item, with its tags.
Implements Tagcoll::Consumer< ITEM, TAG >.
Reimplemented in Tagcoll::AddDerived< ITEM >, Tagcoll::RemoveDerived< ITEM >, Tagcoll::FilterItemsByExpression< ITEM, TAG >, Tagcoll::FilterTagsByExpression< ITEM, TAG >, Tagcoll::Substitute< ITEM, TAG >, Tagcoll::UntaggedRemover< ITEM, TAG >, Tagcoll::UnfacetedRemover< ITEM >, Tagcoll::AddImplied< ITEM, TAG >, Tagcoll::RemoveImplied< ITEM, TAG >, and Tagcoll::PatchList< ITEM, TAG >.
| bool Tagcoll::Filter< ITEM, TAG >::isComplete | ( | ) | [inline] |
Return true if the filter is not incomplete.
| virtual Consumer<ITEM, TAG>& Tagcoll::Filter< ITEM, TAG >::getConsumer | ( | ) | const [inline, virtual] |
Access the filter's consumer.
| virtual void Tagcoll::Filter< ITEM, TAG >::setConsumer | ( | Consumer< ITEM, TAG > & | consumer | ) | [inline, virtual] |
Consumer<ITEM, TAG>* Tagcoll::Filter< ITEM, TAG >::consumer [protected] |
1.5.1