SortedTreeItem< PAYLOAD > Class Template Reference

Template class for tree items that maintain sort order. More...

#include <TreeItem.h>

Inheritance diagram for SortedTreeItem< PAYLOAD >:

TreeItem< PAYLOAD >

List of all members.

Public Member Functions

 SortedTreeItem (PAYLOAD val, SortedTreeItem< PAYLOAD > *parentItem=0)
virtual ~SortedTreeItem ()
void insertChildSorted (SortedTreeItem< PAYLOAD > *newChild)
SortedTreeItem< PAYLOAD > * parent () const
SortedTreeItem< PAYLOAD > * next () const
SortedTreeItem< PAYLOAD > * firstChild () const

Private Member Functions

 SortedTreeItem (const SortedTreeItem< PAYLOAD > &)
SortedTreeItem< PAYLOAD > & operator= (const SortedTreeItem< PAYLOAD > &)


Detailed Description

template<class PAYLOAD>
class SortedTreeItem< PAYLOAD >

Template class for tree items that maintain sort order.

Class 'PAYLOAD' to provide operator<() in addition to what template 'TreeItem' requires.


Constructor & Destructor Documentation

template<class PAYLOAD>
SortedTreeItem< PAYLOAD >::SortedTreeItem ( PAYLOAD  val,
SortedTreeItem< PAYLOAD > *  parentItem = 0 
) [inline]

Constructor. Creates a new tree item with value "val" and inserts it in ascending sort order into the children list of "parent".

template<class PAYLOAD>
virtual SortedTreeItem< PAYLOAD >::~SortedTreeItem (  )  [inline, virtual]

Destructor.

template<class PAYLOAD>
SortedTreeItem< PAYLOAD >::SortedTreeItem ( const SortedTreeItem< PAYLOAD > &   )  [inline, private]

Private (i.e. disabled) copy constructor and operator=()

  • neither makes any sense with this class.


Member Function Documentation

template<class PAYLOAD>
SortedTreeItem<PAYLOAD>* SortedTreeItem< PAYLOAD >::firstChild (  )  const [inline]

Returns this item's first child or 0 if there is none.

Reimplemented from TreeItem< PAYLOAD >.

References TreeItem< PAYLOAD >::_firstChild.

Referenced by SortedTreeItem< PAYLOAD >::insertChildSorted().

template<class PAYLOAD>
void SortedTreeItem< PAYLOAD >::insertChildSorted ( SortedTreeItem< PAYLOAD > *  newChild  )  [inline]

Insert a child into the internal children list in ascending sort order. Called from the new child's constructor, thus 'public'.

References SortedTreeItem< PAYLOAD >::firstChild(), TreeItem< PAYLOAD >::next(), TreeItem< PAYLOAD >::setFirstChild(), TreeItem< PAYLOAD >::setNext(), and TreeItem< PAYLOAD >::value().

template<class PAYLOAD>
SortedTreeItem<PAYLOAD>* SortedTreeItem< PAYLOAD >::next (  )  const [inline]

Returns this item's next sibling or 0 if there is none.

Reimplemented from TreeItem< PAYLOAD >.

References TreeItem< PAYLOAD >::_next.

template<class PAYLOAD>
SortedTreeItem<PAYLOAD>& SortedTreeItem< PAYLOAD >::operator= ( const SortedTreeItem< PAYLOAD > &   )  [inline, private]

template<class PAYLOAD>
SortedTreeItem<PAYLOAD>* SortedTreeItem< PAYLOAD >::parent (  )  const [inline]

Returns this item's parent or 0 if there is none.

Reimplemented from TreeItem< PAYLOAD >.

References TreeItem< PAYLOAD >::_parent.


The documentation for this class was generated from the following file:

Generated on a sunny day for yast2-core by doxygen 1.5.9