class EvtSetTools {
public:
- static bool contains(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 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);
static EventSet plus(EventSet events, UnfoldingEvent* e);
};
-typedef struct s_evset_in {
+struct s_evset_in_t {
EventSet causuality_events;
EventSet cause;
EventSet ancestorSet;
-} s_evset_in_t;
+};
class Configuration {
public:
Configuration() = default;
Configuration(const Configuration&) = default;
Configuration& operator=(Configuration const&) = default;
- Configuration(Configuration&&) noexcept = default;
- ~Configuration() = default;
+ Configuration(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;
bool isImmediateConflict1(UnfoldingEvent* evt, UnfoldingEvent* otherEvt) const;
bool conflictWithConfig(UnfoldingEvent* event, Configuration const& config) const;
- bool operator==(const UnfoldingEvent& other) const;
+ /* TODO: implement */
+ bool operator==(const UnfoldingEvent&) const { return false; };
void print() const;
inline int get_state_id() const { return state_id; }
inline void set_transition_tag(std::string const& 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;
};
} // namespace mc
} // namespace simgrid
-#endif
\ No newline at end of file
+#endif