pub trait PluginFactoryWrapper:
Debug
+ Send
+ Sync {
// Required methods
fn create_f32(
&self,
config: OptimizerConfig,
) -> Result<Box<dyn OptimizerPlugin<f32>>>;
fn create_f64(
&self,
config: OptimizerConfig,
) -> Result<Box<dyn OptimizerPlugin<f64>>>;
fn info(&self) -> PluginInfo;
fn validate_config(&self, config: &OptimizerConfig) -> Result<()>;
fn default_config(&self) -> OptimizerConfig;
fn config_schema(&self) -> ConfigSchema;
fn supports_type(&self, datatype: &DataType) -> bool;
}Expand description
Wrapper trait for type-erased plugin factories
Required Methods§
Sourcefn create_f32(
&self,
config: OptimizerConfig,
) -> Result<Box<dyn OptimizerPlugin<f32>>>
fn create_f32( &self, config: OptimizerConfig, ) -> Result<Box<dyn OptimizerPlugin<f32>>>
Create optimizer with f32 precision
Sourcefn create_f64(
&self,
config: OptimizerConfig,
) -> Result<Box<dyn OptimizerPlugin<f64>>>
fn create_f64( &self, config: OptimizerConfig, ) -> Result<Box<dyn OptimizerPlugin<f64>>>
Create optimizer with f64 precision
Sourcefn info(&self) -> PluginInfo
fn info(&self) -> PluginInfo
Get factory information
Sourcefn validate_config(&self, config: &OptimizerConfig) -> Result<()>
fn validate_config(&self, config: &OptimizerConfig) -> Result<()>
Validate configuration
Sourcefn default_config(&self) -> OptimizerConfig
fn default_config(&self) -> OptimizerConfig
Get default configuration
Sourcefn config_schema(&self) -> ConfigSchema
fn config_schema(&self) -> ConfigSchema
Get configuration schema
Sourcefn supports_type(&self, datatype: &DataType) -> bool
fn supports_type(&self, datatype: &DataType) -> bool
Check if factory supports the given data type