tagcoll::HierarchyNode< COLL > Class Template Reference

#include <SmartHierarchy.h>

Inheritance diagram for tagcoll::HierarchyNode< COLL >:

Inheritance graph
[legend]
Collaboration diagram for tagcoll::HierarchyNode< COLL >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector
< HierarchyNode< COLL >
* >::iterator 
iterator

Public Member Functions

 HierarchyNode (const TAG &tag, const COLL &coll)
 HierarchyNode (HierarchyNode< COLL > *parent, const TAG &tag, const COLL &coll)
virtual ~HierarchyNode ()
const TAGtag () const
TAG tag ()
HierarchyNode< COLL > * parent () const
virtual void expand ()=0
int size ()
iterator begin ()
iterator end ()
HierarchyNode< COLL > * operator[] (int idx)
const std::set< ITEM > & getItems ()

Protected Types

typedef coll::coll_traits
< COLL >::item_type 
ITEM
typedef coll::coll_traits
< COLL >::tag_type 
TAG
typedef coll::coll_traits
< COLL >::itemset_type 
ITEMSET
typedef coll::coll_traits
< COLL >::tagset_type 
TAGSET

Protected Attributes

TAG _tag
COLL * coll
std::vector< HierarchyNode
< COLL > * > 
children
ITEMSET items
HierarchyNode< COLL > * _parent

template<typename COLL>
class tagcoll::HierarchyNode< COLL >


Member Typedef Documentation

template<typename COLL>
typedef coll::coll_traits<COLL>::item_type tagcoll::HierarchyNode< COLL >::ITEM [protected]

Reimplemented in tagcoll::SmartHierarchyNode< COLL >, and tagcoll::CleanSmartHierarchyNode< COLL >.

template<typename COLL>
typedef coll::coll_traits<COLL>::tag_type tagcoll::HierarchyNode< COLL >::TAG [protected]

Reimplemented in tagcoll::SmartHierarchyNode< COLL >, and tagcoll::CleanSmartHierarchyNode< COLL >.

template<typename COLL>
typedef coll::coll_traits<COLL>::itemset_type tagcoll::HierarchyNode< COLL >::ITEMSET [protected]

Reimplemented in tagcoll::SmartHierarchyNode< COLL >, and tagcoll::CleanSmartHierarchyNode< COLL >.

template<typename COLL>
typedef coll::coll_traits<COLL>::tagset_type tagcoll::HierarchyNode< COLL >::TAGSET [protected]

Reimplemented in tagcoll::SmartHierarchyNode< COLL >, and tagcoll::CleanSmartHierarchyNode< COLL >.

template<typename COLL>
typedef std::vector<HierarchyNode<COLL>*>::iterator tagcoll::HierarchyNode< COLL >::iterator


Constructor & Destructor Documentation

template<typename COLL>
tagcoll::HierarchyNode< COLL >::HierarchyNode ( const TAG tag,
const COLL &  coll 
) [inline]

template<typename COLL>
tagcoll::HierarchyNode< COLL >::HierarchyNode ( HierarchyNode< COLL > *  parent,
const TAG tag,
const COLL &  coll 
) [inline]

template<typename COLL>
virtual tagcoll::HierarchyNode< COLL >::~HierarchyNode (  )  [virtual]


Member Function Documentation

template<typename COLL>
const TAG& tagcoll::HierarchyNode< COLL >::tag (  )  const [inline]

template<typename COLL>
TAG tagcoll::HierarchyNode< COLL >::tag (  )  [inline]

template<typename COLL>
HierarchyNode<COLL>* tagcoll::HierarchyNode< COLL >::parent (  )  const [inline]

template<typename COLL>
virtual void tagcoll::HierarchyNode< COLL >::expand (  )  [pure virtual]

Implemented in tagcoll::SmartHierarchyNode< COLL >, and tagcoll::CleanSmartHierarchyNode< COLL >.

template<typename COLL>
int tagcoll::HierarchyNode< COLL >::size (  )  [inline]

template<typename COLL>
iterator tagcoll::HierarchyNode< COLL >::begin (  )  [inline]

template<typename COLL>
iterator tagcoll::HierarchyNode< COLL >::end (  )  [inline]

template<typename COLL>
HierarchyNode<COLL>* tagcoll::HierarchyNode< COLL >::operator[] ( int  idx  )  [inline]

template<typename COLL>
const std::set<ITEM>& tagcoll::HierarchyNode< COLL >::getItems (  )  [inline]


Member Data Documentation

template<typename COLL>
TAG tagcoll::HierarchyNode< COLL >::_tag [protected]

template<typename COLL>
COLL* tagcoll::HierarchyNode< COLL >::coll [protected]

template<typename COLL>
std::vector<HierarchyNode<COLL>*> tagcoll::HierarchyNode< COLL >::children [protected]

template<typename COLL>
ITEMSET tagcoll::HierarchyNode< COLL >::items [protected]

template<typename COLL>
HierarchyNode<COLL>* tagcoll::HierarchyNode< COLL >::_parent [protected]


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