pub trait ListVariableEntity<S> {
type CrossDistanceMeter: CrossEntityDistanceMeter<S> + Clone + Debug;
type IntraDistanceMeter: CrossEntityDistanceMeter<S> + Clone + Debug + 'static;
const HAS_STOCK_LIST_VARIABLE: bool;
const STOCK_LIST_VARIABLE_NAME: &'static str;
const STOCK_LIST_ELEMENT_SOURCE: Option<&'static str>;
// Required methods
fn list_field(entity: &Self) -> &[usize];
fn list_field_mut(entity: &mut Self) -> &mut Vec<usize>;
fn list_metadata( ) -> ListVariableMetadata<S, Self::CrossDistanceMeter, Self::IntraDistanceMeter>;
}Expand description
Hidden trait implemented by #[planning_entity] for list-stock entities so
#[planning_solution] can consume typed list metadata without re-stating
it on the solution.
Required Associated Constants§
const HAS_STOCK_LIST_VARIABLE: bool
const STOCK_LIST_VARIABLE_NAME: &'static str
const STOCK_LIST_ELEMENT_SOURCE: Option<&'static str>
Required Associated Types§
type CrossDistanceMeter: CrossEntityDistanceMeter<S> + Clone + Debug
type IntraDistanceMeter: CrossEntityDistanceMeter<S> + Clone + Debug + 'static
Required Methods§
fn list_field(entity: &Self) -> &[usize]
fn list_field_mut(entity: &mut Self) -> &mut Vec<usize>
fn list_metadata() -> ListVariableMetadata<S, Self::CrossDistanceMeter, Self::IntraDistanceMeter>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.