11#include <framework/core/Path.h>
31 m_iter(path->m_elements.begin()),
32 m_end(path->m_elements.end()),
41 m_iter(path->m_elements.begin()),
42 m_end(path->m_elements.end()),
80 std::list<std::shared_ptr<PathElement> >::const_iterator
m_iter;
81 std::list<std::shared_ptr<PathElement> >::const_iterator
m_end;
Iterator over a Path (returning Module pointers).
bool isDone() const
Are we finished iterating?
PathIterator(const PathPtr &path)
Constructor.
std::shared_ptr< PathIterator > m_parentIterator
If this is non-NULL, we jump to m_parentIterator+1 after m_iter is done.
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.
PathPtr m_path
keep the path around to ensure iterators remain valid.
Module * get() const
dereference.
PathIterator(const PathPtr &path, const PathIterator &parentIterator)
Constructor with back-reference to an iterator over the parent path.
void descendIfNecessary()
Check if we're pointing to another path and descend if that is the case.
Implements a path consisting of Module and/or Path objects.
std::shared_ptr< Path > PathPtr
Defines a pointer to a path object as a boost shared pointer.
Abstract base class for different kinds of events.