solverforge-core 0.16.0

Core types and traits for SolverForge constraint solver
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Stable logical descriptor identifiers for dynamic model integrations.

/// Logical planning-entity class identifier.
///
/// Macro-generated Rust models can continue to use `TypeId`. Dynamic binding
/// models use this ID when multiple host-language entity classes share one
/// Rust backing row type.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct EntityClassId(pub usize);

/// Logical planning-variable identifier.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct VariableId(pub usize);

/// Logical problem-fact class identifier.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ProblemFactClassId(pub usize);