X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a9c3e4ca6f2592ff569f305c34508cd417e4dabd..54b931da542487537ab6ec3c4c8f5a9ec06822a7:/src/mc/udpor_global.hpp diff --git a/src/mc/udpor_global.hpp b/src/mc/udpor_global.hpp index e49fcf0d9c..60a6eb0947 100644 --- a/src/mc/udpor_global.hpp +++ b/src/mc/udpor_global.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2022. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -8,21 +8,21 @@ #include #include +#include -namespace simgrid { -namespace mc { +namespace simgrid::mc { class UnfoldingEvent; using EventSet = std::deque; class EvtSetTools { public: - static bool contains(const EventSet events, const UnfoldingEvent* e); - static UnfoldingEvent* find(const EventSet events, const UnfoldingEvent* e); + static bool contains(const EventSet& events, const UnfoldingEvent* e); + static UnfoldingEvent* find(const EventSet& events, const UnfoldingEvent* e); static void subtract(EventSet& events, EventSet const& otherSet); - static bool depends(EventSet const& events, EventSet const& otherSet); + static bool depends(const EventSet& events, const EventSet& otherSet); static bool isEmptyIntersection(EventSet evtS1, EventSet evtS2); - static EventSet makeUnion(EventSet s1, EventSet s2); + static EventSet makeUnion(const EventSet& s1, const EventSet& s2); static void pushBack(EventSet& events, UnfoldingEvent* e); static void remove(EventSet& events, UnfoldingEvent* e); static EventSet minus(EventSet events, UnfoldingEvent* e); @@ -54,18 +54,14 @@ public: Configuration(const Configuration&) = default; Configuration& operator=(Configuration const&) = default; Configuration(Configuration&&) = default; - ~Configuration() = default; }; class UnfoldingEvent { public: - int id = -1; - EventSet causes; // used to store directed ancestors of event e UnfoldingEvent(unsigned int nb_events, std::string const& trans_tag, EventSet const& causes, int sid = -1); UnfoldingEvent(const UnfoldingEvent&) = default; UnfoldingEvent& operator=(UnfoldingEvent const&) = default; UnfoldingEvent(UnfoldingEvent&&) = default; - ~UnfoldingEvent() = default; EventSet getHistory() const; @@ -78,23 +74,24 @@ public: bool isImmediateConflict1(UnfoldingEvent* evt, UnfoldingEvent* otherEvt) const; bool conflictWithConfig(UnfoldingEvent* event, Configuration const& config) const; - /* TODO: implement */ - bool operator==(const UnfoldingEvent& other) const { return false; }; + /* TODO: implement */ + bool operator==(const UnfoldingEvent&) const { return false; }; void print() const; inline int get_state_id() const { return state_id; } inline void set_state_id(int sid) { state_id = sid; } inline std::string get_transition_tag() const { return transition_tag; } - inline void set_transition_tag(std::string const& tr_tag) { transition_tag = tr_tag; } + inline void set_transition_tag(std::string_view tr_tag) { transition_tag = tr_tag; } private: + EventSet causes; // used to store directed ancestors of event e + int id = -1; int state_id{-1}; std::string transition_tag{""}; // The tag of the last transition that lead to creating the event bool transition_is_IReceive(const UnfoldingEvent* testedEvt, const UnfoldingEvent* SdRcEvt) const; bool transition_is_ISend(const UnfoldingEvent* testedEvt, const UnfoldingEvent* SdRcEvt) const; bool check_tr_concern_same_comm(bool& chk1, bool& chk2, UnfoldingEvent* evt1, UnfoldingEvent* evt2) const; }; -} // namespace mc -} // namespace simgrid +} // namespace simgrid::mc #endif