| 
    Chombo + EB
    3.2
    
   | 
 
An Iterator based on a BoxLayout object. More...
#include <LayoutIterator.H>

Public Member Functions | |
| LayoutIterator () | |
| a null constructed LayoutIterator will return false on ok()  More... | |
| virtual | ~LayoutIterator () | 
| const LayoutIndex & | operator() () const | 
| return the index that this iterator is at  More... | |
| LayoutIndex | i () const | 
| return a copy of the index that this iterator is at  More... | |
| virtual void | operator++ () | 
| move the iterator to the next Box in the layout  More... | |
| void | incr () | 
| move the iterator to the next Box in the layout  More... | |
| virtual bool | ok () const | 
| return true if this iterator is still in its Layout  More... | |
| void | begin () | 
| initialize this iterator to the first Box in its Layout  More... | |
| void | reset () | 
| same as begin()  More... | |
| void | end () | 
| move this iterator to after the last Box in the layout  More... | |
| const LayoutIndex & | operator[] (int ivec) const | 
| LayoutIndex & | operator[] (int ivec) | 
Protected Member Functions | |
| LayoutIterator (const BoxLayout &a_boxlayout, const int *a_layoutID) | |
Protected Attributes | |
| BoxLayout | m_layout | 
| RefCountedPtr< Vector< LayoutIndex > > | m_indicies | 
| unsigned int | m_current | 
Friends | |
| class | BoxLayout | 
| class | DisjointBoxLayout | 
| class | TimedDataIterator | 
An Iterator based on a BoxLayout object.
An Iterator based on a BoxLayout object. It does not support a dereferencing operation(1), since it is intended to work with all of BoxLayouts, DisjointBoxLayouts, BoxLayoutDatas LevelData's, and any object that is built on top of a BoxLayout object. LayoutIterator accesses the data in a BoxLayout-based object in a NON-data-parallel manner (i.e. every processor iterates through all the Boxes in the BoxLayout). This differs from the DataIterator class.
BoxLayout-based objects can act as the Factory for the LayoutIterator.
(1) STL-speak. not critical for comprehension, but can help people familiar with STL iterators and expecting similar behaviour.
      
  | 
  inline | 
a null constructed LayoutIterator will return false on ok()
      
  | 
  inlinevirtual | 
References operator()().
      
  | 
  protected | 
      
  | 
  inline | 
return the index that this iterator is at
References CH_assert, m_current, m_indicies, and ok().
Referenced by i(), DataIterator::operator()(), and ~LayoutIterator().
      
  | 
  inline | 
return a copy of the index that this iterator is at
References operator()(), and operator++().
      
  | 
  inlinevirtual | 
move the iterator to the next Box in the layout
Reimplemented in TimedDataIterator.
References m_current.
Referenced by i().
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
return true if this iterator is still in its Layout
Reimplemented in TimedDataIterator.
References m_current, m_layout, and BoxLayout::size().
Referenced by LayoutData< Vector< IntVectSet > >::allocate(), BaseIFFactory< T >::BaseIFFactory(), BaseIVFactory< T >::BaseIVFactory(), blockWriteToBuffer(), BaseLevelTGA< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::computeDiffusion(), PetscSolver< LevelData< FArrayBox > >::create_mat_vec(), LevelData< BaseFab< int > >::degenerateLocalOnly(), ViscousTensorOp::diagonalScale(), NWOViscousTensorOp::diagonalScale(), VCAMRPoissonOp2::diagonalScale(), EBViscousTensorOp::diagonalScale(), NWOEBViscousTensorOp::diagonalScale(), ViscousTensorOp::divideByIdentityCoef(), NWOViscousTensorOp::divideByIdentityCoef(), VCAMRPoissonOp2::divideByIdentityCoef(), EBViscousTensorOp::divideByIdentityCoef(), NWOEBViscousTensorOp::divideByIdentityCoef(), MultilevelLinearOp< T >::dotProduct(), BCFunction::fillGhostCells(), getOffsets(), incr(), EBLevelRedist::increment(), BaseLevelHeatSolver< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::incrementFlux(), CoefficientInterpolator< LevelData< FluxBox >, LevelData< FArrayBox > >::interpolatePrime(), IVSFABFactory< T >::IVSFABFactory(), CoefficientInterpolator< LevelData< FluxBox >, LevelData< FArrayBox > >::NewtonRaphson(), operator()(), EBFastFR::reflux(), regionGather(), PetscSolver< LevelData< FArrayBox > >::setup_solver(), MergeSolver< T >::solve(), PetscSolver< LevelData< FArrayBox > >::solve_mfree_private(), write(), WriteMultiData< T >::writeData(), and LayoutData< Vector< IntVectSet > >::~LayoutData().
      
  | 
  inline | 
initialize this iterator to the first Box in its Layout
References m_current.
Referenced by LevelData< BaseFab< int > >::degenerateLocalOnly(), MultilevelLinearOp< T >::dotProduct(), incr(), and regionGather().
| void LayoutIterator::end | ( | ) | 
      
  | 
  inline | 
References m_indicies.
      
  | 
  inline | 
References m_indicies.
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  protected | 
      
  | 
  protected | 
Referenced by operator()(), and operator[]().
      
  | 
  protected | 
Referenced by begin(), ok(), operator()(), and operator++().
 1.8.13