pub trait ErrorMitigationProtocol:
Send
+ Sync
+ Debug {
// Required methods
fn protocol_name(&self) -> &str;
fn applicable_to(&self, noise_model: &NoiseModel) -> bool;
fn preprocess_operation(
&self,
operation: &dyn GateOp,
) -> Result<Box<dyn GateOp>, QuantRS2Error>;
fn postprocess_result(
&self,
result: &ExecutionResult,
) -> Result<ExecutionResult, QuantRS2Error>;
}