- /**
- * Returns a depth-first iterator at the beginning of the child TraceTreeItem
- * tree.
- */
- iterator begin();
-
- /**
- * Returns a depth-first iterator at the end of the child TraceTreeItem tree.
- */
- iterator end();
-
- /**
- * Returns a constant depth-first iterator at the beginning of the
- * child TraceTreeItem tree.
- */
- const_iterator begin() const;
-
- /**
- * Returns a constant depth-first iterator at the end of the child
- * TraceTreeItem tree.
- */
- const_iterator end() const;
-
- /**
- * Creates a list of decendant signals filtered by type.
- */
- template<class T>
- std::vector< std::shared_ptr<T> > list_by_type() {
- std::vector< std::shared_ptr<T> > items;
- for (const auto &r : *this) {
- std::shared_ptr<T> p = std::dynamic_pointer_cast<T>(r);
- if (p)
- items.push_back(p);
- }
-
- return items;
- }