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

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

#include <Patches.h>

Inheritance diagram for Tagcoll::PatchList< ITEM, TAG >:

Inheritance graph
[legend]
Collaboration diagram for Tagcoll::PatchList< ITEM, TAG >:

Collaboration graph
[legend]
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 (Consumer< ITEM, TAG > &consumer)
 PatchList (const PatchList &pl)
 PatchList (const PatchList &pl, Consumer< ITEM, TAG > &consumer)
virtual ~PatchList () throw ()
void addPatch (const ReadonlyCollection< ITEM, TAG > &im1, const ReadonlyCollection< ITEM, TAG > &im2) throw ()
 Add to this patchlist the patches needed to transform `im1' in `im2'.
void addPatch (const Patch< ITEM, TAG > &patch) throw ()
 Add `patch' to this PatchList.
void addPatch (const PatchList< ITEM, TAG > &patches) throw ()
 Add `patches' to this PatchList.
OpSet< TAG > patch (const ITEM &item, const OpSet< TAG > &tagset) const throw ()
 Patch a tagged item.
PatchList< ITEM, TAG > getReverse () const throw ()

Protected Member Functions

virtual void consumeItemUntagged (const ITEM &item)
 Process an untagged item.
virtual void consumeItem (const ITEM &item, const OpSet< TAG > &tags)
 Process a tagged item, with its tags.

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 ( Consumer< ITEM, TAG > &  consumer  )  [inline]

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

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

template<class ITEM, class TAG>
virtual Tagcoll::PatchList< ITEM, TAG >::~PatchList (  )  throw () [inline, virtual]


Member Function Documentation

template<class ITEM, class TAG>
void Tagcoll::PatchList< ITEM, TAG >::consumeItemUntagged ( const ITEM &  item  )  [inline, protected, virtual]

Process an untagged item.

Reimplemented from Tagcoll::Filter< ITEM, TAG >.

template<class ITEM, class TAG>
void Tagcoll::PatchList< ITEM, TAG >::consumeItem ( const ITEM &  item,
const OpSet< TAG > &  tags 
) [inline, protected, virtual]

Process a tagged item, with its tags.

Reimplemented from Tagcoll::Filter< ITEM, TAG >.

template<class ITEM, class TAG>
void Tagcoll::PatchList< ITEM, TAG >::addPatch ( const ReadonlyCollection< ITEM, TAG > &  im1,
const ReadonlyCollection< ITEM, TAG > &  im2 
) throw () [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  )  throw () [inline]

Add `patch' to this PatchList.

template<class ITEM, class TAG>
void Tagcoll::PatchList< ITEM, TAG >::addPatch ( const PatchList< ITEM, TAG > &  patches  )  throw () [inline]

Add `patches' to this PatchList.

template<class ITEM, class TAG>
OpSet< TAG > Tagcoll::PatchList< ITEM, TAG >::patch ( const ITEM &  item,
const OpSet< TAG > &  tagset 
) const throw () [inline]

Patch a tagged item.

Returns:
The new (patched) set of tags

template<class ITEM, class TAG>
PatchList< ITEM, TAG > Tagcoll::PatchList< ITEM, TAG >::getReverse (  )  const throw () [inline]


The documentation for this class was generated from the following files:
Generated on Wed Jun 20 19:19:12 2007 for libtagcoll by  doxygen 1.5.2