solverforge-macros 0.19.4

Derive macros for SolverForge constraint solver
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use solverforge::prelude::*;

#[planning_entity]
struct Visit {
    #[planning_id]
    id: usize,

    #[index_shadow_variable(source_variable_name = "visits")]
    index: Option<usize>,
}

fn main() {
    let descriptor = Visit::entity_descriptor("visits");
    let index = descriptor
        .find_variable("index")
        .expect("generated index shadow descriptor");
    assert_eq!(format!("{:?}", index.variable_type), "Shadow(Index)");
}