X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/19ac7578ffba786dbf458aa6afc8822ea73f78b6..d9c66df6160daf502cdc849b68e9882529a4353d:/src/mc/explo/odpor/WakeupTreeIterator.hpp diff --git a/src/mc/explo/odpor/WakeupTreeIterator.hpp b/src/mc/explo/odpor/WakeupTreeIterator.hpp index 8d65829346..0ccc6bc0ea 100644 --- a/src/mc/explo/odpor/WakeupTreeIterator.hpp +++ b/src/mc/explo/odpor/WakeupTreeIterator.hpp @@ -14,7 +14,19 @@ namespace simgrid::mc::odpor { -struct WakeupTreeIterator +/** + * @brief A forward-iterator that performs a postorder traversal + * of the nodes of a WakeupTree + * + * Inserting a sequence `w` into a wakeup tree `B` with respect to + * some execution `E` requires determining the "<-minimal" node `N` + * with sequence `v` in the tree such that `v ~_[E] w`. The "<" relation + * over a wakeup tree orders its nodes by first recursively ordering all + * children of a node `N` followed by the node `N` itself, viz. a postorder. + * This iterator provides such a postorder traversal over the nodes in the + * wakeup tree. + */ +class WakeupTreeIterator : public boost::iterator_facade { public: WakeupTreeIterator() = default;