Skip to main content

DynamicListAccess

Trait DynamicListAccess 

Source
pub trait DynamicListAccess<S>: Send + Sync {
Show 16 methods // 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>; // Provided methods fn capabilities(&self) -> DynamicListAccessCapabilities { ... } fn set( &self, _solution: &mut S, _row: usize, _pos: usize, _value: usize, ) -> bool { ... } fn replace( &self, _solution: &mut S, _row: usize, _values: Vec<usize>, ) -> bool { ... } fn reverse( &self, _solution: &mut S, _row: usize, _start: usize, _end: usize, ) -> bool { ... } fn sublist_remove( &self, _solution: &mut S, _row: usize, _start: usize, _end: usize, ) -> Option<Vec<usize>> { ... } fn sublist_insert( &self, _solution: &mut S, _row: usize, _pos: usize, _values: Vec<usize>, ) -> bool { ... }
}

Required Methods§

Source

fn entity_class(&self) -> EntityClassId

Source

fn variable(&self) -> VariableId

Source

fn entity_count(&self, solution: &S) -> usize

Source

fn element_count(&self, solution: &S) -> usize

Source

fn element(&self, solution: &S, element_index: usize) -> Option<usize>

Source

fn assigned_elements(&self, solution: &S) -> Vec<usize>

Source

fn len(&self, solution: &S, row: usize) -> usize

Source

fn get(&self, solution: &S, row: usize, pos: usize) -> Option<usize>

Source

fn insert(&self, solution: &mut S, row: usize, pos: usize, value: usize)

Source

fn remove(&self, solution: &mut S, row: usize, pos: usize) -> Option<usize>

Provided Methods§

Source

fn capabilities(&self) -> DynamicListAccessCapabilities

Source

fn set( &self, _solution: &mut S, _row: usize, _pos: usize, _value: usize, ) -> bool

Source

fn replace(&self, _solution: &mut S, _row: usize, _values: Vec<usize>) -> bool

Replaces one complete row list as one logical mutation.

Source

fn reverse( &self, _solution: &mut S, _row: usize, _start: usize, _end: usize, ) -> bool

Source

fn sublist_remove( &self, _solution: &mut S, _row: usize, _start: usize, _end: usize, ) -> Option<Vec<usize>>

Source

fn sublist_insert( &self, _solution: &mut S, _row: usize, _pos: usize, _values: Vec<usize>, ) -> bool

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§