PluginFactoryWrapper

Trait PluginFactoryWrapper 

Source
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§

Source

fn create_f32( &self, config: OptimizerConfig, ) -> Result<Box<dyn OptimizerPlugin<f32>>>

Create optimizer with f32 precision

Source

fn create_f64( &self, config: OptimizerConfig, ) -> Result<Box<dyn OptimizerPlugin<f64>>>

Create optimizer with f64 precision

Source

fn info(&self) -> PluginInfo

Get factory information

Source

fn validate_config(&self, config: &OptimizerConfig) -> Result<()>

Validate configuration

Source

fn default_config(&self) -> OptimizerConfig

Get default configuration

Source

fn config_schema(&self) -> ConfigSchema

Get configuration schema

Source

fn supports_type(&self, datatype: &DataType) -> bool

Check if factory supports the given data type

Implementors§