28 lines
973 B
Markdown
28 lines
973 B
Markdown
# core/simulator.h
|
|
|
|
## Free functions
|
|
|
|
### `std::numeric_limits<InstanceId>::max();`
|
|
### `std::numeric_limits<LinkId>::max();`
|
|
|
|
## class Rng — public interface
|
|
|
|
### `Simulator() = default;`
|
|
### `static std::pair<InstanceId, Simulator *> create_simulator(InstanceId id);`
|
|
### `static Simulator *get_simulator(InstanceId id) noexcept;`
|
|
### `Time now() const noexcept;`
|
|
### `EventId schedule_at(Time abs_time, F&& f, Args&&... args) { ... }`
|
|
### `_event_pq.push(std::move(it));`
|
|
### `EventId schedule_after(Time delay, F&& f, Args&&... args) { ... }`
|
|
### `bool cancel(EventId id);`
|
|
### `bool run_next();`
|
|
### `void run_until(Time end_time);`
|
|
### `void lock() noexcept;`
|
|
### `bool is_locked() const noexcept { ... }`
|
|
### `void flush_after(Time grace) noexcept;`
|
|
### `Rng* create_rng(std::uint64_t seed);`
|
|
### `Rng* get_rng() noexcept;`
|
|
### `Rng const* get_rng() const noexcept;`
|
|
### `Link* get_link(LinkId id) noexcept;`
|
|
### `Link const* get_link(LinkId id) const noexcept;`
|