tagcoll::Patch< ITEM, TAG > Struct Template Reference

Patch for the tagset of a specific item. More...

#include <patch.h>

Collaboration diagram for tagcoll::Patch< ITEM, TAG >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Patch (const Patch< ITEM, TAG > &p)
 Patch (const ITEM &item)
 Patch (const ITEM &item, const std::set< TAG > &added, const std::set< TAG > &removed)
template<typename CONTA, typename CONTB>
 Patch (const ITEM &item, const CONTA &added, const CONTB &removed)
 ~Patch ()
void add (const TAG &tag)
void add (const std::set< TAG > &tags)
void remove (const TAG &tag)
void remove (const std::set< TAG > &tags)
Patch< ITEM, TAG > getReverse () const
void mergeWith (const Patch< ITEM, TAG > &patch)
std::set< TAG > apply (const std::set< TAG > &ts) const
template<typename TAGS>
std::set< TAG > apply (const TAGS &tags) const
void removeRedundant (const std::set< TAG > ts)
bool operator== (const Patch< ITEM, TAG > &p) const
bool operator!= (const Patch< ITEM, TAG > &p) const

Public Attributes

ITEM item
std::set< TAG > added
std::set< TAG > removed


Detailed Description

template<typename ITEM, typename TAG>
struct tagcoll::Patch< ITEM, TAG >

Patch for the tagset of a specific item.

Constructor & Destructor Documentation

template<typename ITEM, typename TAG>
tagcoll::Patch< ITEM, TAG >::Patch ( const Patch< ITEM, TAG > &  p  )  [inline]

template<typename ITEM, typename TAG>
tagcoll::Patch< ITEM, TAG >::Patch ( const ITEM &  item  )  [inline]

template<typename ITEM, typename TAG>
tagcoll::Patch< ITEM, TAG >::Patch ( const ITEM &  item,
const std::set< TAG > &  added,
const std::set< TAG > &  removed 
)

template<typename ITEM, typename TAG>
template<typename CONTA, typename CONTB>
tagcoll::Patch< ITEM, TAG >::Patch ( const ITEM &  item,
const CONTA &  added,
const CONTB &  removed 
) [inline]

template<typename ITEM, typename TAG>
tagcoll::Patch< ITEM, TAG >::~Patch (  )  [inline]


Member Function Documentation

template<typename ITEM, typename TAG>
void tagcoll::Patch< ITEM, TAG >::add ( const TAG &  tag  )  [inline]

template<typename ITEM, typename TAG>
void tagcoll::Patch< ITEM, TAG >::add ( const std::set< TAG > &  tags  )  [inline]

template<typename ITEM, typename TAG>
void tagcoll::Patch< ITEM, TAG >::remove ( const TAG &  tag  )  [inline]

template<typename ITEM, typename TAG>
void tagcoll::Patch< ITEM, TAG >::remove ( const std::set< TAG > &  tags  )  [inline]

template<typename ITEM, typename TAG>
Patch<ITEM, TAG> tagcoll::Patch< ITEM, TAG >::getReverse (  )  const [inline]

template<typename ITEM, typename TAG>
void tagcoll::Patch< ITEM, TAG >::mergeWith ( const Patch< ITEM, TAG > &  patch  )  [inline]

template<typename ITEM, typename TAG>
std::set<TAG> tagcoll::Patch< ITEM, TAG >::apply ( const std::set< TAG > &  ts  )  const [inline]

template<typename ITEM, typename TAG>
template<typename TAGS>
std::set<TAG> tagcoll::Patch< ITEM, TAG >::apply ( const TAGS &  tags  )  const [inline]

template<typename ITEM, typename TAG>
void tagcoll::Patch< ITEM, TAG >::removeRedundant ( const std::set< TAG >  ts  )  [inline]

template<typename ITEM, typename TAG>
bool tagcoll::Patch< ITEM, TAG >::operator== ( const Patch< ITEM, TAG > &  p  )  const [inline]

template<typename ITEM, typename TAG>
bool tagcoll::Patch< ITEM, TAG >::operator!= ( const Patch< ITEM, TAG > &  p  )  const [inline]


Member Data Documentation

template<typename ITEM, typename TAG>
ITEM tagcoll::Patch< ITEM, TAG >::item

template<typename ITEM, typename TAG>
std::set<TAG> tagcoll::Patch< ITEM, TAG >::added

template<typename ITEM, typename TAG>
std::set<TAG> tagcoll::Patch< ITEM, TAG >::removed


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