DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER > Class Template Reference

Class for iterating over all the filtered connected components. More...

#include <DLConnectedComponents.h>

List of all members.

Public Member Functions

 fiterator_base ()
 fiterator_base (CVEC *vc, IVEC *idxs, bool b)
COMP & operator * () const
COMP * operator-> () const
bool operator!= (const fiterator_base &right) const
bool operator== (const fiterator_base &right)
const fiterator_base operator++ ()

Protected Attributes

CVEC * myvector_p
 pointer to DLComponents
CVECITER myiter
 internal iterator over DLComponents
IVEC * filteredIdxs_p
 pointer to filtered component indices
IVECITER filtIdx_iter
 iterator over component indices


Detailed Description

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
class DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >

Class for iterating over all the filtered connected components.

This is a template class, reimplemented for use in DLConnectedComponents as DLConnectedComponents::const_fiterator and DLConnectedComponents::fiterator.

Use the functions DLConnectedComponents::fbegin() and DLConnectedComponents::fend() to create this type of iterator. This iterator behaves much the same as STL iterators: it can be incremented, and two iterators may be compared with each other to determine if they point to the same DLComponent.

Definition at line 368 of file DLConnectedComponents.h.


Constructor & Destructor Documentation

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::fiterator_base (  )  [inline]

Default constructor to allow for instantiation of an const fiterator.

* DLConnectedComponents::const_fiterator fii = cc.begin();

Definition at line 378 of file DLConnectedComponents.h.

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::fiterator_base ( CVEC *  vc,
IVEC *  idxs,
bool  b 
) [inline]

Constructor used by DLConnectedComponents to create the "begin()" and "end()" iterators.

Parameters:
vc pointer to the vector of DLComponents to iterate over
idxs pointer to the vector of filtered-in component indices
b true for "begin()" iterator, false for "end()" iterator

Definition at line 389 of file DLConnectedComponents.h.

References DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::filteredIdxs_p, DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::filtIdx_iter, DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myiter, and DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myvector_p.


Member Function Documentation

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
COMP& DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator * (  )  const [inline]

Dereference operator: returns the individual DLComponent object that the iterator is currently pointing to. Returned object can not be modified.

Definition at line 414 of file DLConnectedComponents.h.

References DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myiter.

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
COMP* DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator-> (  )  const [inline]

Arrow operator: returns a pointer to the individual DLComponent object that the iterator is currently pointing to. Returned object can not be modified.

Definition at line 423 of file DLConnectedComponents.h.

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
bool DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator!= ( const fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER > &  right  )  const [inline]

Checks if two fiterators are equivalent (pointing to the same place)

Definition at line 430 of file DLConnectedComponents.h.

References DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myiter.

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
bool DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator== ( const fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER > &  right  )  [inline]

Checks if two fiterators are equivalent (pointing to the same place)

Definition at line 437 of file DLConnectedComponents.h.

References DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myiter.

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
const fiterator_base DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator++ (  )  [inline]

Preincrement operator: advances filtered component iterator to the next filtered component

Definition at line 445 of file DLConnectedComponents.h.

References DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::filteredIdxs_p, DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::filtIdx_iter, DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myiter, and DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myvector_p.


Member Data Documentation

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
CVEC* DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myvector_p [protected]

pointer to DLComponents

Definition at line 462 of file DLConnectedComponents.h.

Referenced by DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::fiterator_base(), and DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator++().

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
CVECITER DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::myiter [protected]

internal iterator over DLComponents

Definition at line 464 of file DLConnectedComponents.h.

Referenced by DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::fiterator_base(), DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator *(), DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator!=(), DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator++(), and DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator==().

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
IVEC* DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::filteredIdxs_p [protected]

pointer to filtered component indices

Definition at line 466 of file DLConnectedComponents.h.

Referenced by DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::fiterator_base(), and DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator++().

template<typename COMP, typename CVEC, typename CVECITER, typename IVEC, typename IVECITER>
IVECITER DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::filtIdx_iter [protected]

iterator over component indices

Definition at line 468 of file DLConnectedComponents.h.

Referenced by DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::fiterator_base(), and DLConnectedComponents::fiterator_base< COMP, CVEC, CVECITER, IVEC, IVECITER >::operator++().


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

DOCLIB is being developed under contract by a collaboration between:
The Laboratory for Language and Media Processing
Unviersity of Maryland, College Park
and
Booz | Allen | Hamilton

All Rights Reserved, 2003-2007