chombo-discharge
CD_RtIterator.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_RtIterator_H
13 #define CD_RtIterator_H
14 
15 // Our includes
16 #include <CD_RtLayout.H>
17 #include <CD_NamespaceHeader.H>
18 
22 template <class T>
24 {
25 public:
29  RtIterator() = delete;
30 
34  RtIterator(RtLayout<T>& a_layout);
35 
39  virtual ~RtIterator();
40 
44  virtual int
46 
50  virtual int
51  index() const;
52 
56  virtual void
57  reset();
58 
62  virtual bool
63  ok();
64 
68  virtual void
69  operator++();
70 
74  virtual RefCountedPtr<T>&
75  operator()();
76 
80  virtual RefCountedPtr<RtSpecies>&
81  getSpecies();
82 
83 protected:
87  int m_isolver;
88 
92  int m_num;
93 
97  Vector<RefCountedPtr<T>> m_solvers;
98 
102  Vector<RefCountedPtr<RtSpecies>> m_species;
103 };
104 
105 #include <CD_NamespaceFooter.H>
106 
107 #include <CD_RtIteratorImplem.H>
108 #endif
Implementation of RtIterator.H.
Declaration of a class that holds a set of RtSolvers.
Iterator class for RtLayout.
Definition: CD_RtIterator.H:24
Vector< RefCountedPtr< T > > m_solvers
Ion solvers.
Definition: CD_RtIterator.H:97
virtual RefCountedPtr< T > & operator()()
Get the solver pointed to by the iterator.
Definition: CD_RtIteratorImplem.H:77
virtual int index() const
Get current solver number/index.
Definition: CD_RtIteratorImplem.H:49
int m_num
Number of solvers.
Definition: CD_RtIterator.H:92
virtual ~RtIterator()
Destructor (does nothing)
Definition: CD_RtIteratorImplem.H:35
virtual void operator++()
Incrementation operator. Cycles to next solver.
Definition: CD_RtIteratorImplem.H:70
int m_isolver
Solver currently pointed to.
Definition: CD_RtIterator.H:87
virtual void reset()
Reset iterator to first solver.
Definition: CD_RtIteratorImplem.H:56
virtual int getNumberOfSolvers()
Get number of solvers.
Definition: CD_RtIteratorImplem.H:42
virtual bool ok()
Check if we can cycle further through the solvers.
Definition: CD_RtIteratorImplem.H:63
Vector< RefCountedPtr< RtSpecies > > m_species
Ions.
Definition: CD_RtIterator.H:102
RtIterator()=delete
Empty constructor.
virtual RefCountedPtr< RtSpecies > & getSpecies()
Get current species pointed to by the iterator.
Definition: CD_RtIteratorImplem.H:84
Class for holding a set of RtSolvers. T must derive from RtSolver.
Definition: CD_RtLayout.H:27