pub struct AlgorithmRegistry { /* private fields */ }Expand description
Algorithm registry for dynamic algorithm selection
Implementations§
Source§impl AlgorithmRegistry
impl AlgorithmRegistry
Sourcepub fn register<F>(
&mut self,
name: String,
factory: F,
metadata: AlgorithmMetadata,
)
pub fn register<F>( &mut self, name: String, factory: F, metadata: AlgorithmMetadata, )
Register an algorithm
Sourcepub fn create_algorithm(
&self,
name: &str,
) -> Result<Box<dyn DecompositionAlgorithm>>
pub fn create_algorithm( &self, name: &str, ) -> Result<Box<dyn DecompositionAlgorithm>>
Create algorithm instance by name
Sourcepub fn list_algorithms(&self) -> Vec<String>
pub fn list_algorithms(&self) -> Vec<String>
Get all registered algorithm names
Sourcepub fn get_metadata(&self, name: &str) -> Option<&AlgorithmMetadata>
pub fn get_metadata(&self, name: &str) -> Option<&AlgorithmMetadata>
Get algorithm metadata
Sourcepub fn find_by_capability(&self, capability: AlgorithmCapability) -> Vec<String>
pub fn find_by_capability(&self, capability: AlgorithmCapability) -> Vec<String>
Find algorithms by capability
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AlgorithmRegistry
impl !RefUnwindSafe for AlgorithmRegistry
impl Send for AlgorithmRegistry
impl Sync for AlgorithmRegistry
impl Unpin for AlgorithmRegistry
impl !UnwindSafe for AlgorithmRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more