|
chombo-discharge
|
Iterator class for CdrLayout. This allows iteration through solvers (or subsets of solvers). More...
#include <CD_CdrIterator.H>
Public Types | |
| enum class | SpeciesIteration { All , Charged , Negative , Positive , Neutral } |
| Enum class for iterating through subsets of species. | |
Public Member Functions | |
| CdrIterator ()=delete | |
| Disallowed weak construction. Always use the full constructor. | |
| CdrIterator (CdrLayout< T > &a_layout, const SpeciesIteration a_mode=SpeciesIteration::All) | |
| Full constructor. | |
| virtual | ~CdrIterator () |
| Destructor (does nothing). | |
| virtual int | getNumberOfSolvers () |
| Get number of solvers. | |
| virtual int | index () const |
| Get current solver number (i.e. index in CdrLayouts solvers). | |
| virtual void | reset () |
| Reset iterator to the beginning. | |
| virtual bool | ok () const |
| Check if the iterator is valid. | |
| virtual void | operator++ () |
| Increment the iterator. Behavior depends on iteration mode. | |
| virtual RefCountedPtr< T > & | operator() () |
| Return the current solver. | |
| virtual RefCountedPtr< CdrSpecies > & | getSpecies () |
| Return the current species. | |
Protected Attributes | |
| SpeciesIteration | m_mode |
| Which species to iterate over. | |
| int | m_isolver |
| Current solver index. | |
| int | m_numSolvers |
| Number of solvers. | |
| bool | m_isDefined |
| Defined or not. | |
| Vector< RefCountedPtr< T > > | m_solvers |
| Cdr solvers. | |
| Vector< RefCountedPtr< CdrSpecies > > | m_species |
| Cdr species. | |
Iterator class for CdrLayout. This allows iteration through solvers (or subsets of solvers).
Forward declare iterator.
CdrLayout is a class for holding sets of CdrSolvers on a realm and a phase. In the simplest case it is used as a container for keeping track of a single set of CdrSolvers, and it greatly cuts down on typing. This class allows iteration through one such layout. The user can specify to only iterate through subsets of CdrSolvers, e.g. only for charged species or neutral species, etc.
| CdrIterator< T >::CdrIterator | ( | CdrLayout< T > & | a_layout, |
| const SpeciesIteration | a_mode = SpeciesIteration::All |
||
| ) |
Full constructor.
| [in] | a_layout | CdrLayout to iterate through. |
| [in] | a_mode | Iteration mode. |
|
virtual |
Get number of solvers.
|
virtual |
Return the current species.
|
virtual |
Get current solver number (i.e. index in CdrLayouts solvers).
|
virtual |
Check if the iterator is valid.
|
virtual |
Return the current solver.