pub trait Sorter:
Debug
+ Send
+ Any {
// Required methods
fn step(&mut self, budget: usize) -> StepResult;
fn is_complete(&self) -> bool;
fn get_telemetry(&self) -> Telemetry;
fn reset(&mut self, data: Vec<i32>);
fn name(&self) -> &str;
fn get_array(&self) -> &[i32];
fn get_memory_usage(&self) -> usize;
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
}
Expand description
Core trait that all sorting algorithms must implement
Required Methods§
Sourcefn step(&mut self, budget: usize) -> StepResult
fn step(&mut self, budget: usize) -> StepResult
Sourcefn is_complete(&self) -> bool
fn is_complete(&self) -> bool
Check if the algorithm has completed sorting
Sourcefn get_telemetry(&self) -> Telemetry
fn get_telemetry(&self) -> Telemetry
Get current telemetry data
Sourcefn get_memory_usage(&self) -> usize
fn get_memory_usage(&self) -> usize
Get auxiliary memory usage in bytes
Sourcefn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Support mutable downcasting for type-specific operations