X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/764829f87878f239dc6173d0201b5249531da2db..6bc04475b4308e91e18d869a5fb665bc35b48508:/src/mc/explo/udpor/UnfoldingEvent.hpp diff --git a/src/mc/explo/udpor/UnfoldingEvent.hpp b/src/mc/explo/udpor/UnfoldingEvent.hpp index b6d9b37eca..bad411cfe2 100644 --- a/src/mc/explo/udpor/UnfoldingEvent.hpp +++ b/src/mc/explo/udpor/UnfoldingEvent.hpp @@ -27,21 +27,40 @@ public: UnfoldingEvent(UnfoldingEvent&&) = default; EventSet get_history() const; + EventSet get_local_config() const; bool in_history_of(const UnfoldingEvent* other) const; + + /** + * @brief Whether or not the given event is a decendant + * of or an ancestor of the given event + */ bool related_to(const UnfoldingEvent* other) const; + /// @brief Whether or not this event is in conflict with + /// the given one (i.e. whether `this # other`) bool conflicts_with(const UnfoldingEvent* other) const; - bool conflicts_with(const Configuration& config) const; + + /// @brief Whether or not this event is in conflict with + /// any event in the given set + bool conflicts_with_any(const EventSet& events) const; + + /// @brief Computes "this #ⁱ other" bool immediately_conflicts_with(const UnfoldingEvent* other) const; bool is_dependent_with(const Transition*) const; - bool has_dependent_transition_with(const UnfoldingEvent* other) const; + bool is_dependent_with(const UnfoldingEvent* other) const; const EventSet& get_immediate_causes() const { return this->immediate_causes; } Transition* get_transition() const { return this->associated_transition.get(); } + aid_t get_actor() const { return get_transition()->aid_; } + + void set_transition(std::shared_ptr t) { this->associated_transition = std::move(t); } + + std::string to_string() const; bool operator==(const UnfoldingEvent&) const; bool operator!=(const UnfoldingEvent& other) const { return not(*this == other); } +private: /** * @brief The transition that UDPOR "attaches" to this * specific event for later use while computing e.g. extension