 |
Belle II Software
release-05-02-19
|
13 #include <framework/core/Path.h>
33 m_iter(path->m_elements.begin()),
34 m_end(path->m_elements.end()),
43 m_iter(path->m_elements.begin()),
44 m_end(path->m_elements.end()),
77 Module*
get()
const {
return dynamic_cast<Module*
>(
m_iter->get()); }
82 std::list<std::shared_ptr<PathElement> >::const_iterator
m_iter;
83 std::list<std::shared_ptr<PathElement> >::const_iterator
m_end;
std::shared_ptr< PathIterator > m_parentIterator
If this is non-NULL, we jump to m_parentIterator+1 after m_iter is done.
PathIterator(const PathPtr &path)
Constructor.
PathPtr m_path
keep the path around to ensure iterators remain valid.
std::list< std::shared_ptr< PathElement > >::const_iterator m_end
iterator to end of Path.
std::list< std::shared_ptr< PathElement > >::const_iterator m_iter
wrapped path list iterator.
Abstract base class for different kinds of events.
std::shared_ptr< Path > PathPtr
Defines a pointer to a path object as a boost shared pointer.
Module * get() const
dereference.
Implements a path consisting of Module and/or Path objects.
void descendIfNecessary()
Check if we're pointing to another path and descend if that is the case.
Iterator over a Path (returning Module pointers).
bool isDone() const
Are we finished iterating?