tagcoll::Implications< TAG > Class Template Reference

List of explicit implications that can be applied to a tagged collection. More...

#include <Implications.h>

List of all members.

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.


Detailed Description

template<class TAG>
class tagcoll::Implications< TAG >

List of explicit implications that can be applied to a tagged collection.

The underlying Simple collection goes as "{Item} implies {Tags}"


Member Function Documentation

template<class TAG>
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.

template<class TAG>
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.

template<class TAG>
std::set<TAG> tagcoll::Implications< TAG >::expand ( const TAG &  tag  )  const [inline]

Expand a single tag.

template<class TAG>
template<typename IN>
std::set<TAG> tagcoll::Implications< TAG >::expand ( const IN &  tags  )  const [inline]

Expand a full tagset.

template<class TAG>
template<typename IN>
std::set<TAG> tagcoll::Implications< TAG >::compress ( const IN &  tags  )  const [inline]

Compress a tagset removing implied tags.

template<class TAG>
void tagcoll::Implications< TAG >::pack (  ) 

template<class TAG>
template<typename COLL>
void tagcoll::Implications< TAG >::addFrom ( const COLL &  coll  )  [inline]

template<class TAG>
template<typename OUT>
void tagcoll::Implications< TAG >::outputFull ( OUT  out  )  const [inline]


The documentation for this class was generated from the following file:
Generated on Fri Feb 8 10:50:44 2008 for libtagcoll by  doxygen 1.5.4