pub trait DynamicListAccess<S>: Send + Sync{
// Required methods
fn entity_class(&self) -> EntityClassId;
fn variable(&self) -> VariableId;
fn entity_count(&self, solution: &S) -> usize;
fn element_count(&self, solution: &S) -> usize;
fn element(&self, solution: &S, element_index: usize) -> Option<usize>;
fn assigned_elements(&self, solution: &S) -> Vec<usize>;
fn len(&self, solution: &S, row: usize) -> usize;
fn get(&self, solution: &S, row: usize, pos: usize) -> Option<usize>;
fn insert(&self, solution: &mut S, row: usize, pos: usize, value: usize);
fn remove(&self, solution: &mut S, row: usize, pos: usize) -> Option<usize>;
}Expand description
Object-safe dynamic list variable access.
Required Methods§
fn entity_class(&self) -> EntityClassId
fn variable(&self) -> VariableId
fn entity_count(&self, solution: &S) -> usize
fn element_count(&self, solution: &S) -> usize
fn element(&self, solution: &S, element_index: usize) -> Option<usize>
fn assigned_elements(&self, solution: &S) -> Vec<usize>
fn len(&self, solution: &S, row: usize) -> usize
fn get(&self, solution: &S, row: usize, pos: usize) -> Option<usize>
fn insert(&self, solution: &mut S, row: usize, pos: usize, value: usize)
fn remove(&self, solution: &mut S, row: usize, pos: usize) -> Option<usize>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".