bool is_maestro(const actor::ActorImpl* actor) const { return actor == maestro_; }
void set_maestro(actor::ActorImpl* actor) { maestro_ = actor; }
actor::ActorImpl* get_maestro() const { return maestro_; }
- void destroy_maestro()
- {
- delete maestro_;
- maestro_ = nullptr;
- }
context::ContextFactory* get_context_factory() const { return context_factory_; }
void set_context_factory(context::ContextFactory* factory) { context_factory_ = factory; }
/* @brief Finish simulation initialization
* This function must be called before the first call to solve()
*/
- void presolve();
+ void presolve() const;
/** @brief Performs a part of the simulation
* @param max_date Maximum date to update the simulation to, or -1
* @return the elapsed time, or -1.0 if no event could be executed
* when you call solve().
* Note that the returned elapsed time can be zero.
*/
- double solve(double max_date);
+ double solve(double max_date) const;
- /** @brief Run the main simulation loop. */
- void run();
+ /** @brief Run the main simulation loop until the specified date (or infinitly if max_date is negative). */
+ void run(double max_date);
/** @brief Return the current time in milliseconds. */
static double get_clock();