concrete_core/specification/engines/
plaintext_decoding.rs1use super::engine_error;
2use crate::specification::engines::AbstractEngine;
3use crate::specification::entities::{CleartextEntity, EncoderEntity, PlaintextEntity};
4
5engine_error! {
6 PlaintextDecodingError for PlaintextDecodingEngine @
7}
8
9pub trait PlaintextDecodingEngine<Encoder, Plaintext, Cleartext>: AbstractEngine
18where
19 Plaintext: PlaintextEntity,
20 Cleartext: CleartextEntity,
21 Encoder: EncoderEntity,
22{
23 fn decode_plaintext(
25 &mut self,
26 encoder: &Encoder,
27 input: &Plaintext,
28 ) -> Result<Cleartext, PlaintextDecodingError<Self::EngineError>>;
29
30 unsafe fn decode_plaintext_unchecked(
37 &mut self,
38 input: &Plaintext,
39 encoder: &Encoder,
40 ) -> Cleartext;
41}