## odem-rs Core
`odem-rs-core` is the foundational crate of the odem-rs library, providing essential structures and traits for object-based discrete-event modeling in Rust. It defines the core components that facilitate agent-based simulation modeling, event scheduling, and cooperative concurrency.
### Features
- Provides the key simulation structures `Agent`, `Job`, and `Continuation`, as well as the simulation context `Sim`.
- Implements event scheduling and deterministic execution.
- Contains supporting structures and traits like intrusively counted pointers (`Irc`), the `Config`-trait, and the `Scheduler`-trait.
### Feature Flags
| `std` | yes | Standard library support (implies `alloc`). |
| `alloc` | yes | Heap allocation for per-type agent identifiers. |
| `tracing` | yes | Structured instrumentation of agents and jobs. |
| `debug-tracing` | no | Debug-level trace output for internal state machines. |
| `uom` | yes | Type-safe SI quantities for model time. |
See the [API documentation](https://docs.rs/odem-rs-core) for detailed descriptions of each feature flag.
### Installation
Using the entry crate `odem-rs` is recommended, but it is possible to use this crate as a standalone simulator core.
```toml
[dependencies]
odem-rs-core = "0.3"
```
### License
Licensed under **MIT**. See [LICENSE] for details.
[LICENSE]: https://gitlab.informatik.hu-berlin.de/weber/odem-rs/blob/main/LICENSE