#include <Implications.h>
Inheritance diagram for Tagcoll::Implications< TAG >:
Public Member Functions | |
virtual | ~Implications () |
OpSet< TAG > | expand (const TAG &tag) const |
Expand a single tag. | |
OpSet< TAG > | expand (const OpSet< TAG > &tags) const |
Expand a full tagset. | |
OpSet< TAG > | compress (const OpSet< TAG > &tags) const |
Compress a tagset removing implied tags. | |
void | pack () |
void | outputFull (Consumer< TAG, TAG > &consumer) const |
void | output (Consumer< TAG, TAG > &consumer) const |
Protected Types | |
typedef std::map< TAG, OpSet< TAG > > | impl_t |
Protected Member Functions | |
OpSet< TAG > | getDestinations (const TAG &tag, const OpSet< TAG > &seen=OpSet< TAG >()) const |
Get the set of all tags seen when walking through all parent lists. | |
bool | reaches (const TAG &tag1, const TAG &tag2, const OpSet< TAG > &seen=OpSet< TAG >()) const |
Return true if tag1 can reach tag2 walking through some path in its parent list. | |
virtual void | consumeItemUntagged (const TAG &item) |
Process an untagged item. | |
virtual void | consumeItem (const TAG &item, const OpSet< TAG > &tags) |
Process a tagged item, with its tags. | |
Protected Attributes | |
impl_t | implications |
typedef std::map< TAG, OpSet<TAG> > Tagcoll::Implications< TAG >::impl_t [protected] |
virtual Tagcoll::Implications< TAG >::~Implications | ( | ) | [inline, virtual] |
OpSet< TAG > Implications::getDestinations | ( | const TAG & | tag, | |
const OpSet< TAG > & | seen = OpSet< TAG >() | |||
) | const [inline, protected] |
Get the set of all tags seen when walking through all parent lists.
bool Implications::reaches | ( | const TAG & | tag1, | |
const TAG & | tag2, | |||
const OpSet< TAG > & | seen = OpSet< TAG >() | |||
) | const [inline, protected] |
Return true if tag1 can reach tag2 walking through some path in its parent list.
virtual void Tagcoll::Implications< TAG >::consumeItemUntagged | ( | const TAG & | item | ) | [inline, protected, virtual] |
virtual void Tagcoll::Implications< TAG >::consumeItem | ( | const TAG & | item, | |
const OpSet< TAG > & | tags | |||
) | [inline, protected, virtual] |
OpSet<TAG> Tagcoll::Implications< TAG >::expand | ( | const TAG & | tag | ) | const [inline] |
Expand a single tag.
OpSet<TAG> Tagcoll::Implications< TAG >::expand | ( | const OpSet< TAG > & | tags | ) | const [inline] |
Expand a full tagset.
OpSet< TAG > Implications::compress | ( | const OpSet< TAG > & | tags | ) | const [inline] |
Compress a tagset removing implied tags.
void Implications::pack | ( | ) | [inline] |
void Tagcoll::Implications< TAG >::outputFull | ( | Consumer< TAG, TAG > & | consumer | ) | const [inline] |
void Tagcoll::Implications< TAG >::output | ( | Consumer< TAG, TAG > & | consumer | ) | const [inline] |
impl_t Tagcoll::Implications< TAG >::implications [protected] |