pub struct LinearOram<const N: usize> { /* private fields */ }Expand description
Circuit for running linear ORAM.
For a vector of BinaryBundles and a single BinaryBundle query,
output either 0 if no match was found, or the index that matches the query.
Each BinaryBundle contains N bits.
Implementations§
Source§impl<const N: usize> LinearOram<N>
impl<const N: usize> LinearOram<N>
Sourcepub fn new(size: usize) -> Self
pub fn new(size: usize) -> Self
Create a new LinearOram containing size elements.
Trait Implementations§
Source§impl<F: FancyBinary, const N: usize> Circuit<F> for LinearOram<N>
impl<F: FancyBinary, const N: usize> Circuit<F> for LinearOram<N>
Source§type Input = (Vec<BinaryBundle<<F as Fancy>::Item>>, BinaryBundle<<F as Fancy>::Item>)
type Input = (Vec<BinaryBundle<<F as Fancy>::Item>>, BinaryBundle<<F as Fancy>::Item>)
The input type of the circuit.
Source§impl<F: FancyBinary, const N: usize> CircuitInputMapper<F> for LinearOram<N>
impl<F: FancyBinary, const N: usize> CircuitInputMapper<F> for LinearOram<N>
Auto Trait Implementations§
impl<const N: usize> Freeze for LinearOram<N>
impl<const N: usize> RefUnwindSafe for LinearOram<N>
impl<const N: usize> Send for LinearOram<N>
impl<const N: usize> Sync for LinearOram<N>
impl<const N: usize> Unpin for LinearOram<N>
impl<const N: usize> UnsafeUnpin for LinearOram<N>
impl<const N: usize> UnwindSafe for LinearOram<N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IsSameType<T> for T
impl<T> IsSameType<T> for T
§type EqualityProposition = TrueEqualityProposition
type EqualityProposition = TrueEqualityProposition
The [
EqualityProposition] that Self == T