List of explicit implications that can be applied to a tagged collection. More...
#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. | |
List of explicit implications that can be applied to a tagged collection.
The underlying Simple collection goes as "{Item} implies {Tags}"
| void tagcoll::Implications< TAG >::addFrom | ( | const COLL & | coll | ) | [inline] |
| std::set<TAG> tagcoll::Implications< TAG >::compress | ( | const IN & | tags | ) | const [inline] |
Compress a tagset removing implied tags.
References tagcoll::Implications< TAG >::expand().
| std::set<TAG> tagcoll::Implications< TAG >::expand | ( | const IN & | tags | ) | const [inline] |
Expand a full tagset.
References tagcoll::Implications< TAG >::expand().
| std::set<TAG> tagcoll::Implications< TAG >::expand | ( | const TAG & | tag | ) | const [inline] |
Expand a single tag.
References tagcoll::Implications< TAG >::getDestinations().
Referenced by tagcoll::Implications< TAG >::compress(), and tagcoll::Implications< TAG >::expand().
| 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.
Referenced by tagcoll::Implications< TAG >::expand(), and tagcoll::Implications< TAG >::outputFull().
| void tagcoll::Implications< TAG >::outputFull | ( | OUT | out | ) | const [inline] |
References tagcoll::Implications< TAG >::getDestinations().
| void tagcoll::Implications< TAG >::pack | ( | ) |
| 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.
1.6.2