rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWTIsvDlistIterator< TL > Class Template Reference
[Traditional Collections]

Iterator for class RWTIsvDlist<T> . More...

#include <rw/tidlist.h>

Inherits RWIsvDlistIterator.

List of all members.

Public Member Functions

 RWTIsvDlistIterator (RWTIsvDlist< TL > &c)
TL * operator++ ()
TL * operator-- ()
TL * operator+= (size_t n)
TL * operator-= (size_t n)
TL * operator() ()
RWTIsvDlist< TL > * container () const
TL * findNext (bool(*testFun)(const TL *, void *), void *)
void insertAfterPoint (TL *a)
TL * key () const
TL * remove ()
TL * removeNext (bool(*testFun)(const TL *, void *), void *)
void reset ()
void reset (RWTIsvDlist< TL > &c)

Detailed Description

template<class TL>
class RWTIsvDlistIterator< TL >

RWTIsvDlistIterator<TL> provides an iterator interface for class RWTIsvDlist<T>, allowing sequential access to all the elements of a doubly-linked parameterized intrusive list. Elements are accessed in order, in either direction.

The "current item" is undefined immediately after construction; you must define it by using operator()() or some other (valid) operation.

Once the iterator has advanced beyond the end of the collection, it is no longer valid; its continued use will result in undefined behavior.

Synopsis

 #include <rw/tidlist.h>
 RWTIsvDlist<T> list;
 RWTIsvDlistIterator<T> iterator(list);

Persistence

None


Constructor & Destructor Documentation

template<class TL>
RWTIsvDlistIterator< TL >::RWTIsvDlistIterator ( RWTIsvDlist< TL > &  c  )  [inline]

Constructs an iterator to be used with the list c.


Member Function Documentation

template<class TL>
RWTIsvDlist<TL>* RWTIsvDlistIterator< TL >::container (  )  const [inline]

Returns a pointer to the collection over which this iterator is iterating.

template<class TL>
TL* RWTIsvDlistIterator< TL >::findNext ( bool(*)(const TL *, void *)  testFun,
void *   
)

Advances the iterator to the first link for which the tester function pointed to by testFun returns true and returns it, or rwnil if there is no such link.

template<class TL>
void RWTIsvDlistIterator< TL >::insertAfterPoint ( TL *  a  )  [inline]

Inserts the link pointed to by a into the iterator's associated collection in the position immediately after the iterator's current position.

template<class TL>
TL* RWTIsvDlistIterator< TL >::key (  )  const [inline]

Returns the link at the iterator's current position. Returns rwnil if the iterator is not valid.

template<class TL>
TL* RWTIsvDlistIterator< TL >::operator() ( void   )  [inline]

Advances the iterator one position, returning a pointer to the new link, or rwnil if the end of the list has been reached.

template<class TL>
TL* RWTIsvDlistIterator< TL >::operator++ (  )  [inline]

Advances the iterator one position, returning a pointer to the new link, or rwnil if the end of the list has been reached.

template<class TL>
TL* RWTIsvDlistIterator< TL >::operator+= ( size_t  n  )  [inline]

Advances the iterator n positions, returning a pointer to the new link, or rwnil if the end of the list has been reached.

template<class TL>
TL* RWTIsvDlistIterator< TL >::operator-- (  )  [inline]

Reverses the iterator one position, returning a pointer to the new link, or rwnil if the beginning of the list has been reached.

template<class TL>
TL* RWTIsvDlistIterator< TL >::operator-= ( size_t  n  )  [inline]

Reverses the iterator n positions, returning a pointer to the new link, or rwnil if the beginning of the list has been reached.

template<class TL>
TL* RWTIsvDlistIterator< TL >::remove (  )  [inline]

Removes and returns the current link from the iterator's associated collection. Returns rwnil if unsuccessful. If successful, the iterator will be positioned at the element immediately before the removed link.

template<class TL>
TL* RWTIsvDlistIterator< TL >::removeNext ( bool(*)(const TL *, void *)  testFun,
void *   
)

Advances the iterator to the first link for which the tester function pointed to by testFun returns true, removes and returns it. Returns false if unsuccessful. If successful, the iterator will be positioned at the element immediately before the removed element.

template<class TL>
void RWTIsvDlistIterator< TL >::reset ( RWTIsvDlist< TL > &  c  )  [inline]

Resets the iterator to iterate over the collection c.

template<class TL>
void RWTIsvDlistIterator< TL >::reset (  )  [inline]

Resets the iterator to the state it had immediately after construction.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.