X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f5486d14082380bb49065dead209967410995a2a..f1dd25cad1bee0eb04a01e8d94b5776c5e8aeb44:/src/mc/explo/udpor/EventSet.hpp diff --git a/src/mc/explo/udpor/EventSet.hpp b/src/mc/explo/udpor/EventSet.hpp index 31bd7a9927..67314f6041 100644 --- a/src/mc/explo/udpor/EventSet.hpp +++ b/src/mc/explo/udpor/EventSet.hpp @@ -8,10 +8,12 @@ #include "src/mc/explo/udpor/udpor_forward.hpp" +#include #include #include #include #include +#include namespace simgrid::mc::udpor { @@ -48,15 +50,21 @@ public: EventSet make_union(const UnfoldingEvent*) const; EventSet make_union(const EventSet&) const; EventSet make_union(const Configuration&) const; + EventSet get_local_config() const; size_t size() const; bool empty() const; + bool contains(const UnfoldingEvent*) const; bool contains(const History&) const; + bool contains_equivalent_to(const UnfoldingEvent*) const; + bool intersects(const EventSet&) const; + bool intersects(const History&) const; bool is_subset_of(const EventSet&) const; bool operator==(const EventSet& other) const { return this->events_ == other.events_; } bool operator!=(const EventSet& other) const { return this->events_ != other.events_; } + std::string to_string() const; /** * @brief Whether or not this set of events could @@ -102,6 +110,12 @@ public: */ bool is_conflict_free() const; + /** + * @brief Produces the largest subset of this + * set of events which is maximal + */ + EventSet get_largest_maximal_subset() const; + /** * @brief Orders the events of the set such that * "more recent" events (i.e. those that are farther down in @@ -142,6 +156,15 @@ public: * closer to the "bottom" */ std::vector get_topological_ordering_of_reverse_graph() const; + + /** + * @brief Moves the event set into a list + */ + std::vector move_into_vector() const&&; + + using iterator = decltype(events_)::iterator; + using const_iterator = decltype(events_)::const_iterator; + using value_type = decltype(events_)::value_type; }; } // namespace simgrid::mc::udpor