#include <Implications.h>
Public Member Functions | |
std::set< TAG > | expand (const TAG &tag) const |
Expand a single tag. | |
template<typename IN> | |
std::set< TAG > | expand (const IN &tags) const |
Expand a full tagset. | |
template<typename IN> | |
std::set< TAG > | compress (const IN &tags) const |
Compress a tagset removing implied tags. | |
void | pack () |
template<typename COLL> | |
void | addFrom (const COLL &coll) |
template<typename OUT> | |
void | outputFull (OUT out) const |
Protected Member Functions | |
std::set< TAG > | getDestinations (const TAG &tag, const std::set< TAG > &seen=std::set< TAG >()) const |
Get the set of all tags seen when walking through all parent lists. | |
bool | reaches (const TAG &tag1, const TAG &tag2, const std::set< TAG > &seen=std::set< TAG >()) const |
Return true if tag1 can reach tag2 walking through some path in its parent list. |
The underlying Simple collection goes as "{Item} implies {Tags}"
std::set<TAG> tagcoll::Implications< TAG >::getDestinations | ( | const TAG & | tag, | |
const std::set< TAG > & | seen = std::set< TAG >() | |||
) | const [protected] |
Get the set of all tags seen when walking through all parent lists.
bool tagcoll::Implications< TAG >::reaches | ( | const TAG & | tag1, | |
const TAG & | tag2, | |||
const std::set< TAG > & | seen = std::set< TAG >() | |||
) | const [protected] |
Return true if tag1 can reach tag2 walking through some path in its parent list.
std::set<TAG> tagcoll::Implications< TAG >::expand | ( | const TAG & | tag | ) | const [inline] |
Expand a single tag.
std::set<TAG> tagcoll::Implications< TAG >::expand | ( | const IN & | tags | ) | const [inline] |
Expand a full tagset.
std::set<TAG> tagcoll::Implications< TAG >::compress | ( | const IN & | tags | ) | const [inline] |
Compress a tagset removing implied tags.
void tagcoll::Implications< TAG >::pack | ( | ) |
void tagcoll::Implications< TAG >::addFrom | ( | const COLL & | coll | ) | [inline] |
void tagcoll::Implications< TAG >::outputFull | ( | OUT | out | ) | const [inline] |