Belle II Software development
|
Iterator over a Path (returning Module pointers). More...
#include <PathIterator.h>
Public Member Functions | |
PathIterator (const PathPtr &path) | |
Constructor. | |
PathIterator (const PathPtr &path, const PathIterator &parentIterator) | |
Constructor with back-reference to an iterator over the parent path. | |
void | next () |
increment. | |
void | descendIfNecessary () |
Check if we're pointing to another path and descend if that is the case. | |
bool | isDone () const |
Are we finished iterating? | |
Module * | get () const |
dereference. | |
Private Attributes | |
PathPtr | m_path |
keep the path around to ensure iterators remain valid. | |
std::list< std::shared_ptr< PathElement > >::const_iterator | m_iter |
wrapped path list iterator. | |
std::list< std::shared_ptr< PathElement > >::const_iterator | m_end |
iterator to end of Path. | |
std::shared_ptr< PathIterator > | m_parentIterator |
If this is non-NULL, we jump to m_parentIterator+1 after m_iter is done. | |
Iterator over a Path (returning Module pointers).
Definition at line 26 of file PathIterator.h.
|
inlineexplicit |
Constructor.
Definition at line 29 of file PathIterator.h.
|
inlineexplicit |
Constructor with back-reference to an iterator over the parent path.
Definition at line 39 of file PathIterator.h.
|
inline |
Check if we're pointing to another path and descend if that is the case.
Definition at line 57 of file PathIterator.h.
|
inline |
|
inline |
Are we finished iterating?
Definition at line 72 of file PathIterator.h.
|
inline |
increment.
Definition at line 49 of file PathIterator.h.
|
private |
iterator to end of Path.
Definition at line 81 of file PathIterator.h.
|
private |
wrapped path list iterator.
Definition at line 80 of file PathIterator.h.
|
private |
If this is non-NULL, we jump to m_parentIterator+1 after m_iter is done.
Definition at line 82 of file PathIterator.h.
|
private |
keep the path around to ensure iterators remain valid.
Definition at line 79 of file PathIterator.h.