COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
Public Member Functions | Private Attributes | List of all members
covise::coDLPtrList< T > Class Template Reference

#include <coDLList.h>

Inheritance diagram for covise::coDLPtrList< T >:
Inheritance graph
[legend]
Collaboration diagram for covise::coDLPtrList< T >:
Collaboration graph
[legend]

Public Member Functions

 coDLPtrList (bool doDelete=true)
 
void setNullElem (const T &nullElem)
 set the return value for 'current' in case of NO-return More...
 
void setNoDelete (bool doDelete=false)
 
virtual void remove (coDLListElem< T > *whichElem)
 remove specific item from list: delete if doDelete=true More...
 
virtual void clean ()
 cleanup everything More...
 
virtual ~coDLPtrList ()
 destructor: delete elements if doDelete=true More...
 
coDLPtrList< T > & append (const T &a)
 append an element More...
 
void remove ()
 remove current item from list: obsolete, use iterators More...
 
current (void)
 access 'current' item: obsolete, use iterators More...
 
get (void)
 just return last item, do not change current: obsolete, use iterators More...
 
coDLPtrList< T > & set (int)
 move the current to the Nth item: obsolete, use iterators More...
 
int find (const T &)
 
coDLList< T > & reset (void)
 reset current to the beginning of the list: obsolete, use iterators More...
 
coDLList< T > & next (void)
 move the current to next item in list: obsolete, use iterators More...
 
- Public Member Functions inherited from covise::coDLList< T >
 coDLList (void)
 constructor: construct empty list More...
 
virtual ~coDLList (void)
 destructor : virtual for all derived classes More...
 
int num (void) const
 number of items in this list More...
 
 operator bool ()
 are there elements in my list ? More...
 
coDLList< T > & append (const T &)
 add new item to end of list More...
 
item (int)
 return the Nth item: prefer usage of [] or iterator More...
 
T & operator[] (int)
 return the Nth item More...
 
const T & operator[] (int) const
 return the Nth item, const version More...
 
coDLListIter< T > first ()
 get an Iterator placed on the first element More...
 
coDLListIter< T > last ()
 get an Iterator placed on the last element More...
 
coDLListIter< T > findElem (const T &)
 get an Iterator placed to specific element More...
 
coDLListIter< T > findElem (const T &, const coDLListCompare< T > &comp)
 get an Iterator placed to specific element with compare-object More...
 
coDLListIter< T > findElem (int i)
 get an Iterator placed to specific element number More...
 
coDLListElem< T > * getHeadStruct ()
 get the head ot the chain: primarily used for defining own iterators More...
 
coDLListElem< T > * getTailStruct ()
 get the tail ot the chain: primarily used for defining own iterators More...
 

Private Attributes

bool d_doDelete
 
coDLListElem< T > * curr
 
d_nullElem
 

Additional Inherited Members

- Protected Member Functions inherited from covise::coDLList< T >
void addIter (coDLListSafeIter< T > *iter)
 
void removeIter (coDLListSafeIter< T > *iter)
 
void invalidateIterators (void)
 
void correctIteratorsFor (coDLListElem< T > *whichElem)
 
- Protected Attributes inherited from covise::coDLList< T >
coDLListElem< T > * head
 
coDLListElem< T > * tail
 
int listItems
 
std::list< coDLListSafeIter< T > * > m_iterators
 

Detailed Description

template<class T>
class covise::coDLPtrList< T >

List of pointers to class T with possible deleting on remove/deconstruct

Author
Andreas Werner, 23.03.1999
See Also
coDLList
coDLListIter
coDLPtrList

Constructor & Destructor Documentation

template<class T>
covise::coDLPtrList< T >::coDLPtrList ( bool  doDelete = true)
inline

construct empty list, delete by default

Parameters
doDeleteflag whether to delete, default=true
template<class T>
virtual covise::coDLPtrList< T >::~coDLPtrList ( )
inlinevirtual

destructor: delete elements if doDelete=true

Member Function Documentation

template<class T >
INLINE coDLPtrList< T > & covise::coDLPtrList< T >::append ( const T &  a)

append an element

template<class T >
INLINE void covise::coDLPtrList< T >::clean ( void  )
virtual

cleanup everything

Reimplemented from covise::coDLList< T >.

template<class T >
INLINE T covise::coDLPtrList< T >::current ( void  )

access 'current' item: obsolete, use iterators

template<class T >
INLINE int covise::coDLPtrList< T >::find ( const T &  a)

move the current item pointer to the item which matches the given one return TRUE if found, or FALSE otherwise: obsolete, use iterators

template<class T>
T covise::coDLPtrList< T >::get ( void  )
inline

just return last item, do not change current: obsolete, use iterators

return the current item and move current to the nextobsolete, use iterator

template<class T>
coDLList<T>& covise::coDLPtrList< T >::next ( void  )
inline

move the current to next item in list: obsolete, use iterators

template<class T >
INLINE void covise::coDLPtrList< T >::remove ( coDLListElem< T > *  whichElem)
virtual

remove specific item from list: delete if doDelete=true

Reimplemented from covise::coDLList< T >.

template<class T>
void covise::coDLPtrList< T >::remove ( )
inline

remove current item from list: obsolete, use iterators

template<class T>
coDLList<T>& covise::coDLPtrList< T >::reset ( void  )
inline

reset current to the beginning of the list: obsolete, use iterators

template<class T >
INLINE coDLPtrList< T > & covise::coDLPtrList< T >::set ( int  N)

move the current to the Nth item: obsolete, use iterators

template<class T>
void covise::coDLPtrList< T >::setNoDelete ( bool  doDelete = false)
inline

set to no deletion:

Parameters
noDeleteflag whether to delete, default=false
template<class T>
void covise::coDLPtrList< T >::setNullElem ( const T &  nullElem)
inline

set the return value for 'current' in case of NO-return

Member Data Documentation

template<class T>
coDLListElem<T>* covise::coDLPtrList< T >::curr
private
template<class T>
bool covise::coDLPtrList< T >::d_doDelete
private
template<class T>
T covise::coDLPtrList< T >::d_nullElem
private

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