Level (MLSDC/PFASST) iterator. More...
#include <interface.hpp>
Inheritance diagram for pfasst::Controller< time >::LevelIter:
Collaboration diagram for pfasst::Controller< time >::LevelIter:Public Types | |
| typedef int | difference_type |
| typedef shared_ptr< ISweeper< time > > | value_type |
| typedef ISweeper< time > * | pointer |
| typedef ISweeper< time > | reference |
| typedef random_access_iterator_tag | iterator_category |
Public Member Functions | |
| LevelIter (int level, Controller *ts) | |
| template<typename R = ISweeper<time>> | |
| shared_ptr< R > | current () |
| Get level this iterator is currently pointing at. More... | |
| template<typename R = ISweeper<time>> | |
| shared_ptr< R > | fine () |
| Get the next finer level based on LevelIter::current() More... | |
| template<typename R = ISweeper<time>> | |
| shared_ptr< R > | coarse () |
| Get the next coarser level based on LevelIter::current() More... | |
| template<typename R = ITransfer<time>> | |
| shared_ptr< R > | transfer () |
| Get transfer operator for current level. More... | |
Standard Operators for Iterators | |
| template<typename R = reference> | |
| shared_ptr< R > | operator* () |
| template<typename R = reference> | |
| shared_ptr< R > | operator-> () |
| virtual LevelIter | operator++ () |
| virtual bool | operator== (LevelIter i) |
| virtual bool | operator!= (LevelIter i) |
| virtual LevelIter | operator-- () |
| virtual LevelIter | operator- (difference_type i) |
| virtual LevelIter | operator+ (difference_type i) |
| virtual bool | operator<= (LevelIter i) |
| virtual bool | operator>= (LevelIter i) |
| virtual bool | operator< (LevelIter i) |
| virtual bool | operator> (LevelIter i) |
Public Attributes | |
| int | level |
Protected Attributes | |
| Controller * | ts |
| Controller this iterator is bound to. More... | |
Level (MLSDC/PFASST) iterator.
This iterator is used to walk through the MLSDC/PFASST hierarchy of sweepers. It keeps track of the current level, and has convenience routines to return the LevelIter::current(), LevelIter::fine() (i.e. current+1), and LevelIter::coarse() (current-1) sweepers.
Definition at line 306 of file interface.hpp.
| typedef int pfasst::Controller< time >::LevelIter::difference_type |
Definition at line 318 of file interface.hpp.
| typedef random_access_iterator_tag pfasst::Controller< time >::LevelIter::iterator_category |
Definition at line 322 of file interface.hpp.
| typedef ISweeper<time>* pfasst::Controller< time >::LevelIter::pointer |
Definition at line 320 of file interface.hpp.
| typedef ISweeper<time> pfasst::Controller< time >::LevelIter::reference |
Definition at line 321 of file interface.hpp.
| typedef shared_ptr<ISweeper<time> > pfasst::Controller< time >::LevelIter::value_type |
Definition at line 319 of file interface.hpp.
| pfasst::Controller< time >::LevelIter::LevelIter | ( | int | level, |
| Controller * | ts | ||
| ) |
Definition at line 172 of file interface_impl.hpp.
|
inline |
Get the next coarser level based on LevelIter::current()
| R | type implementing ISweeper |
Definition at line 365 of file interface.hpp.
Referenced by pfasst::PFASST< time >::cycle_down(), pfasst::MLSDC< time >::cycle_down(), pfasst::PFASST< time >::cycle_up(), and pfasst::MLSDC< time >::cycle_up().
Here is the caller graph for this function:
|
inline |
Get level this iterator is currently pointing at.
| R | type implementing ISweeper |
R this is currently pointing at Definition at line 341 of file interface.hpp.
Referenced by pfasst::PFASST< time >::cycle_bottom(), pfasst::PFASST< time >::cycle_down(), pfasst::MLSDC< time >::cycle_down(), pfasst::PFASST< time >::cycle_up(), and pfasst::MLSDC< time >::cycle_up().
Here is the caller graph for this function:
|
inline |
Get the next finer level based on LevelIter::current()
| R | type implementing ISweeper |
Definition at line 353 of file interface.hpp.
|
virtual |
Definition at line 191 of file interface_impl.hpp.
References pfasst::Controller< time >::LevelIter::level.
|
inline |
Definition at line 389 of file interface.hpp.
|
virtual |
Definition at line 210 of file interface_impl.hpp.
|
virtual |
Definition at line 178 of file interface_impl.hpp.
|
virtual |
Definition at line 204 of file interface_impl.hpp.
|
virtual |
Definition at line 197 of file interface_impl.hpp.
|
inline |
Definition at line 396 of file interface.hpp.
|
virtual |
Definition at line 228 of file interface_impl.hpp.
References pfasst::Controller< time >::LevelIter::level.
|
virtual |
Definition at line 216 of file interface_impl.hpp.
References pfasst::Controller< time >::LevelIter::level.
|
virtual |
Definition at line 185 of file interface_impl.hpp.
References pfasst::Controller< time >::LevelIter::level.
|
virtual |
Definition at line 234 of file interface_impl.hpp.
References pfasst::Controller< time >::LevelIter::level.
|
virtual |
Definition at line 222 of file interface_impl.hpp.
References pfasst::Controller< time >::LevelIter::level.
|
inline |
Get transfer operator for current level.
| R | type implementing ITransfer |
Definition at line 377 of file interface.hpp.
Referenced by pfasst::PFASST< time >::cycle_down(), pfasst::MLSDC< time >::cycle_down(), pfasst::PFASST< time >::cycle_up(), and pfasst::MLSDC< time >::cycle_up().
Here is the caller graph for this function:| int pfasst::Controller< time >::LevelIter::level |
Definition at line 326 of file interface.hpp.
Referenced by pfasst::PFASST< time >::cycle_bottom(), pfasst::MLSDC< time >::cycle_bottom(), pfasst::PFASST< time >::cycle_down(), pfasst::MLSDC< time >::cycle_down(), pfasst::PFASST< time >::cycle_up(), pfasst::MLSDC< time >::cycle_up(), pfasst::PFASST< time >::cycle_v(), pfasst::MLSDC< time >::cycle_v(), pfasst::Controller< time >::LevelIter::operator!=(), pfasst::Controller< time >::LevelIter::operator<(), pfasst::Controller< time >::LevelIter::operator<=(), pfasst::Controller< time >::LevelIter::operator==(), pfasst::Controller< time >::LevelIter::operator>(), pfasst::Controller< time >::LevelIter::operator>=(), pfasst::PFASST< time >::stag(), and pfasst::PFASST< time >::tag().
|
protected |
Controller this iterator is bound to.
Definition at line 314 of file interface.hpp.