Level (MLSDC/PFASST) iterator. More...
#include <interface.hpp>
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().
|
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().
|
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().
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.