* `RemoteApp` interface (that is currently not perfectly sufficient to that extend). */
// abstract
class Exploration : public xbt::Extendable<Exploration> {
- RemoteApp* remote_app_;
+ RemoteApp& remote_app_;
public:
- explicit Exploration(RemoteApp* remote_app) : remote_app_(remote_app) {}
+ explicit Exploration(RemoteApp& remote_app) : remote_app_(remote_app) {}
// No copy:
Exploration(Exploration const&) = delete;
virtual std::vector<std::string> get_textual_trace() = 0;
/** Log additional information about the state of the model-checker */
- virtual void log_state() = 0;
+ virtual void log_state();
- RemoteApp& get_remote_app() { return *remote_app_; }
+ RemoteApp& get_remote_app() { return remote_app_; }
};
// External constructors so that the types (and the types of their content) remain hidden
-XBT_PUBLIC Exploration* create_liveness_checker(RemoteApp* remote_app);
-XBT_PUBLIC Exploration* create_dfs_exploration(RemoteApp* remote_app);
-XBT_PUBLIC Exploration* create_communication_determinism_checker(RemoteApp* remote_app);
-XBT_PUBLIC Exploration* create_udpor_checker(RemoteApp* remote_app);
+XBT_PUBLIC Exploration* create_liveness_checker(RemoteApp& remote_app);
+XBT_PUBLIC Exploration* create_dfs_exploration(RemoteApp& remote_app);
+XBT_PUBLIC Exploration* create_communication_determinism_checker(RemoteApp& remote_app);
+XBT_PUBLIC Exploration* create_udpor_checker(RemoteApp& remote_app);
} // namespace simgrid::mc