pub trait ProjectionProvider: Send + Sync {
// Required methods
fn kind(&self) -> &ProjectionKindRef;
fn config_shape(&self) -> &ContentId;
fn project(
&self,
inputs: &ProjectionInputs,
config: &Datum,
) -> Result<ProjectionOutput, ProjectionError>;
}Expand description
Loaded implementation of an open projection kind.
Required Methods§
Sourcefn kind(&self) -> &ProjectionKindRef
fn kind(&self) -> &ProjectionKindRef
Open kind implemented by this provider.
Sourcefn config_shape(&self) -> &ContentId
fn config_shape(&self) -> &ContentId
Stable Shape identity used to check configuration before invocation.
Sourcefn project(
&self,
inputs: &ProjectionInputs,
config: &Datum,
) -> Result<ProjectionOutput, ProjectionError>
fn project( &self, inputs: &ProjectionInputs, config: &Datum, ) -> Result<ProjectionOutput, ProjectionError>
Projects solely over the bounded immutable input view.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".