#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 >::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 >.
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 Consumer<ITEM, TAG>& Tagcoll::Filter< ITEM, TAG >::getConsumer | ( | ) | const [inline, virtual] |
Access the filter's consumer.
bool Tagcoll::Filter< ITEM, TAG >::isComplete | ( | ) | [inline] |
Return true if the filter is not incomplete.
virtual void Tagcoll::Filter< ITEM, TAG >::setConsumer | ( | Consumer< ITEM, TAG > & | consumer | ) | [inline, virtual] |
Consumer<ITEM, TAG>* Tagcoll::Filter< ITEM, TAG >::consumer [protected] |