tagcoll::PatchList< ITEM, TAG > Class Template Reference

List of patches that can be applied to a TaggedCollection. More...

#include <patch.h>

List of all members.

Public Types

typedef std::map< ITEM, Patch
< ITEM, TAG >
>::const_iterator 
const_iterator
typedef std::map< ITEM, Patch
< ITEM, TAG > >::iterator 
iterator

Public Member Functions

 PatchList ()
 PatchList (const PatchList &pl)
template<typename COLL1, typename COLL2>
void addPatch (const COLL1 &im1, const COLL2 &im2)
 Add to this patchlist the patches needed to transform `im1' in `im2'.
void addPatch (const Patch< ITEM, TAG > &patch)
 Add `patch' to this PatchList.
void addPatch (const PatchList< ITEM, TAG > &patches)
 Add `patches' to this PatchList.
void addPatchInverted (const Patch< TAG, ITEM > &patch)
 Add 'patch' to this PatchList, as tag: +/- package rather than package +/- tag.
void addPatchInverted (const PatchList< TAG, ITEM > &patches)
 Add 'patches' to this PatchList, as tag: +/- package rather than package +/- tag.
void removeRedundant (const ITEM &item, const std::set< TAG > &tags)
 If the PatchList contains the give item, invoke Patch::removeRedundant(tags) on its patch.
std::set< TAG > patch (const ITEM &item, const std::set< TAG > &tagset) const
 Patch a tagged item.
template<typename OUT>
void output (OUT out) const
PatchList< ITEM, TAG > getReverse () const


Detailed Description

template<class ITEM, class TAG>
class tagcoll::PatchList< ITEM, TAG >

List of patches that can be applied to a TaggedCollection.

Member Typedef Documentation

template<class ITEM, class TAG>
typedef std::map<ITEM, Patch<ITEM, TAG> >::const_iterator tagcoll::PatchList< ITEM, TAG >::const_iterator

template<class ITEM, class TAG>
typedef std::map<ITEM, Patch<ITEM, TAG> >::iterator tagcoll::PatchList< ITEM, TAG >::iterator


Constructor & Destructor Documentation

template<class ITEM, class TAG>
tagcoll::PatchList< ITEM, TAG >::PatchList (  )  [inline]

template<class ITEM, class TAG>
tagcoll::PatchList< ITEM, TAG >::PatchList ( const PatchList< ITEM, TAG > &  pl  )  [inline]


Member Function Documentation

template<class ITEM, class TAG>
template<typename COLL1, typename COLL2>
void tagcoll::PatchList< ITEM, TAG >::addPatch ( const COLL1 &  im1,
const COLL2 &  im2 
) [inline]

Add to this patchlist the patches needed to transform `im1' in `im2'.

template<class ITEM, class TAG>
void tagcoll::PatchList< ITEM, TAG >::addPatch ( const Patch< ITEM, TAG > &  patch  ) 

Add `patch' to this PatchList.

template<class ITEM, class TAG>
void tagcoll::PatchList< ITEM, TAG >::addPatch ( const PatchList< ITEM, TAG > &  patches  ) 

Add `patches' to this PatchList.

template<class ITEM, class TAG>
void tagcoll::PatchList< ITEM, TAG >::addPatchInverted ( const Patch< TAG, ITEM > &  patch  ) 

Add 'patch' to this PatchList, as tag: +/- package rather than package +/- tag.

template<class ITEM, class TAG>
void tagcoll::PatchList< ITEM, TAG >::addPatchInverted ( const PatchList< TAG, ITEM > &  patches  ) 

Add 'patches' to this PatchList, as tag: +/- package rather than package +/- tag.

template<class ITEM, class TAG>
void tagcoll::PatchList< ITEM, TAG >::removeRedundant ( const ITEM &  item,
const std::set< TAG > &  tags 
)

If the PatchList contains the give item, invoke Patch::removeRedundant(tags) on its patch.

template<class ITEM, class TAG>
std::set<TAG> tagcoll::PatchList< ITEM, TAG >::patch ( const ITEM &  item,
const std::set< TAG > &  tagset 
) const

Patch a tagged item.

Returns:
The new (patched) set of tags

template<class ITEM, class TAG>
template<typename OUT>
void tagcoll::PatchList< ITEM, TAG >::output ( OUT  out  )  const [inline]

template<class ITEM, class TAG>
PatchList<ITEM, TAG> tagcoll::PatchList< ITEM, TAG >::getReverse (  )  const


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