pub trait PlaintextDiscardingRetrievalEngine<Plaintext, Value>: AbstractEngine where
Plaintext: PlaintextEntity, {
fn discard_retrieve_plaintext(
&mut self,
output: &mut Value,
input: &Plaintext
) -> Result<(), PlaintextDiscardingRetrievalError<Self::EngineError>>;
unsafe fn discard_retrieve_plaintext_unchecked(
&mut self,
output: &mut Value,
input: &Plaintext
);
}
Expand description
A trait for engines retrieving (discarding) arbitrary values from plaintexts.
Semantics
This discarding operation fills the output
arbitrary value with
the retrieval of the input
plaintext value. By arbitrary here, we mean that Value
can be any
type that suits the backend implementor (an integer, a struct wrapping integers, a struct
wrapping foreign data or any other thing).
Formal Definition
Required methods
fn discard_retrieve_plaintext(
&mut self,
output: &mut Value,
input: &Plaintext
) -> Result<(), PlaintextDiscardingRetrievalError<Self::EngineError>>
fn discard_retrieve_plaintext(
&mut self,
output: &mut Value,
input: &Plaintext
) -> Result<(), PlaintextDiscardingRetrievalError<Self::EngineError>>
Retrieves an arbitrary value from a plaintext inplace.
unsafe fn discard_retrieve_plaintext_unchecked(
&mut self,
output: &mut Value,
input: &Plaintext
)
unsafe fn discard_retrieve_plaintext_unchecked(
&mut self,
output: &mut Value,
input: &Plaintext
)
Unsafely retrieves an arbitrary value from a plaintext inplace.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of PlaintextDiscardingRetrievalError
. For safety concerns specific to an engine, refer
to the implementer safety section.
Implementors
Description:
Implementation of PlaintextDiscardingRetrievalEngine
for CoreEngine
that operates on 32
bits integers.