Skip to main content

PairwiseAuthKey

Struct PairwiseAuthKey 

Source
#[repr(C)]
pub struct PairwiseAuthKey<A, B> { pub alpha: GlobalKey<A>, pub beta: B, }
Expand description

Generic authenticated key: a global key alpha: A and a local key beta: B, satisfying MAC(x) = α · x + β.

This is the base type for both:

  • [FieldShareKey<F>] — single-value authenticated key
  • [FieldShareKeys<F,M>] — batched authenticated key (M values, shared α)

Fields§

§alpha: GlobalKey<A>§beta: B

Implementations§

Source§

impl<A, B> PairwiseAuthKey<A, B>

Source

pub fn new(alpha: Arc<A>, beta: B) -> Self

Create a new PairwiseAuthKey with the given global key alpha and local key beta.

Source

pub fn get_beta(&self) -> &B

Return a reference to the local key beta.

Source

pub fn get_alpha(&self) -> &A

Return a reference to the global key alpha.

Source

pub fn alpha(&self) -> Arc<A>

Return the value of the global key alpha.

Source§

impl<A: Clone, B: Copy, M: Positive> PairwiseAuthKey<A, HeapArray<B, M>>

Generic split and merge operations on any batched key PairwiseAuthKey<A, HeapArray<B, M>>. Covers both FieldShareKeys<F, M> and CurveKeys<C, M>.

Source

pub fn split<M1, M2>( self, ) -> (PairwiseAuthKey<A, HeapArray<B, M1>>, PairwiseAuthKey<A, HeapArray<B, M2>>)
where M1: Positive, M2: Positive + Add<M1, Output = M>,

Split a batched key into two smaller batched keys with the same global key alpha and disjoint local keys beta (first M1 values in the first key, next M2 values in the second key).

Source

pub fn split_halves<MDiv2>( self, ) -> (PairwiseAuthKey<A, HeapArray<B, MDiv2>>, PairwiseAuthKey<A, HeapArray<B, MDiv2>>)
where MDiv2: Positive + Mul<U2, Output = M>,

Split a batched key into two smaller batched keys with the same global key alpha and disjoint local keys beta (first M/2 values in the first key, next M/2 values in the second key).

Source

pub fn merge_halves( this: Self, other: Self, ) -> PairwiseAuthKey<A, HeapArray<B, Prod<M, U2>>>
where M: Positive + Mul<U2, Output: Positive>, A: PartialEq,

Merge two batched keys with the same global key alpha and disjoint local keys beta (first M/2 values in the first key, next M/2 values in the second key) into a single batched key with M values in the local key.

Source

pub fn split3<M1, M2, M3>( self, ) -> (PairwiseAuthKey<A, HeapArray<B, M1>>, PairwiseAuthKey<A, HeapArray<B, M2>>, PairwiseAuthKey<A, HeapArray<B, M3>>)
where M1: Positive, M2: Positive + Add<M1>, M3: Positive + Add<Sum<M2, M1>, Output = M>,

Split a batched key into three smaller batched keys with the same global key alpha and disjoint local keys beta (first M1 values in the first key, next M2 values in the second key, last M3 values in the third key).

Source

pub fn split_thirds<MDiv3>( self, ) -> (PairwiseAuthKey<A, HeapArray<B, MDiv3>>, PairwiseAuthKey<A, HeapArray<B, MDiv3>>, PairwiseAuthKey<A, HeapArray<B, MDiv3>>)
where MDiv3: Positive + Mul<U3, Output = M>,

Split a batched key into three smaller batched keys with the same global key alpha and disjoint local keys beta (first M/3 values in the first key, next M/3 values in the second key, last M/3 values in the third key).

Source

pub fn merge_thirds( first: Self, second: Self, third: Self, ) -> PairwiseAuthKey<A, HeapArray<B, Prod<M, U3>>>
where M: Positive + Mul<U3, Output: Positive>, A: PartialEq,

Merge three batched keys with the same global key alpha and disjoint local keys beta (first M/3 values in the first key, next M/3 values in the second key, last M/3 values in the third key) into a single batched key with M values in the local key.

Trait Implementations§

Source§

impl<A: PartialEq, B> Add<&PairwiseAuthKey<A, B>> for &PairwiseAuthKey<A, B>
where for<'a> B: Add<&'a B, Output = B>, PairwiseAuthKey<A, B>: Clone,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &PairwiseAuthKey<A, B>) -> Self::Output

Performs the + operation. Read more
Source§

impl<A: PartialEq, B> Add<&PairwiseAuthKey<A, B>> for PairwiseAuthKey<A, B>
where for<'a> B: Add<&'a B, Output = B>,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the + operator.
Source§

fn add(self, other: &PairwiseAuthKey<A, B>) -> Self::Output

Performs the + operation. Read more
Source§

impl<A: PartialEq, B> Add<PairwiseAuthKey<A, B>> for &PairwiseAuthKey<A, B>
where for<'a> B: Add<&'a B, Output = B>, PairwiseAuthKey<A, B>: Clone,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: PairwiseAuthKey<A, B>) -> Self::Output

Performs the + operation. Read more
Source§

impl<A: PartialEq, B> Add for PairwiseAuthKey<A, B>
where for<'a> B: Add<&'a B, Output = B>,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: PairwiseAuthKey<A, B>) -> Self::Output

Performs the + operation. Read more
Source§

impl<'a, A: PartialEq, B> AddAssign<&'a PairwiseAuthKey<A, B>> for PairwiseAuthKey<A, B>
where for<'b> B: AddAssign<&'b B>,

Source§

fn add_assign(&mut self, other: &'a PairwiseAuthKey<A, B>)

Performs the += operation. Read more
Source§

impl<'a, A: PartialEq, B> AddAssign for PairwiseAuthKey<A, B>
where for<'b> B: AddAssign<&'b B>,

Source§

fn add_assign(&mut self, rhs: PairwiseAuthKey<A, B>)

Performs the += operation. Read more
Source§

impl<A: Clone, B: Clone> Clone for PairwiseAuthKey<A, B>

Source§

fn clone(&self) -> PairwiseAuthKey<A, B>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<A: ConditionallySelectable, B: ConditionallySelectable> ConditionallySelectable for PairwiseAuthKey<A, B>

Source§

fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self

Select a or b according to choice. Read more
Source§

impl<A: ConstantTimeEq, B: ConstantTimeEq> ConstantTimeEq for PairwiseAuthKey<A, B>

Source§

fn ct_eq(&self, other: &Self) -> Choice

Determine if two items are equal. Read more
Source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
Source§

impl<A: Debug, B: Debug> Debug for PairwiseAuthKey<A, B>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<A: Default, B: Default> Default for PairwiseAuthKey<A, B>

Source§

fn default() -> PairwiseAuthKey<A, B>

Returns the “default value” for a type. Read more
Source§

impl<'de, A, B> Deserialize<'de> for PairwiseAuthKey<A, B>
where A: Deserialize<'de>, B: Deserialize<'de>,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<A, T> From<PairwiseAuthKey<A, T>> for PairwiseAuthKey<A, HeapArray<T, U1>>

Convert a single-element key into a one-element batched key. Covers From<FieldShareKey<F>> for FieldShareKeys<F, U1> and From<CurveKey<C>> for CurveKeys<C, U1>.

Source§

fn from(key: PairwiseAuthKey<A, T>) -> Self

Converts to this type from the input type.
Source§

impl<C: Curve> From<PairwiseAuthKey<FieldElement<<C as Curve>::Scalar>, FieldElement<<C as Curve>::Scalar>>> for CurveKey<C>

Source§

fn from(scalar_key: ScalarKey<C>) -> Self

Converts to this type from the input type.
Source§

impl<C: Curve, M: Positive> From<PairwiseAuthKey<FieldElement<<C as Curve>::Scalar>, HeapArray<FieldElement<<C as Curve>::Scalar>, M>>> for CurveKeys<C, M>

Source§

fn from(scalar_key: ScalarKeys<C, M>) -> Self

Converts to this type from the input type.
Source§

impl<A: Clone, B, RHS, BPrime> Mul<RHS> for &PairwiseAuthKey<A, B>
where for<'b> &'b B: Mul<RHS, Output = BPrime>,

Source§

type Output = PairwiseAuthKey<A, BPrime>

The resulting type after applying the * operator.
Source§

fn mul(self, other: RHS) -> Self::Output

Performs the * operation. Read more
Source§

impl<A, B, RHS, BPrime> Mul<RHS> for PairwiseAuthKey<A, B>
where B: Mul<RHS, Output = BPrime>,

Source§

type Output = PairwiseAuthKey<A, BPrime>

The resulting type after applying the * operator.
Source§

fn mul(self, other: RHS) -> Self::Output

Performs the * operation. Read more
Source§

impl<A, B, RHS> MulAssign<RHS> for PairwiseAuthKey<A, B>
where B: MulAssign<RHS>,

Source§

fn mul_assign(&mut self, other: RHS)

Performs the *= operation. Read more
Source§

impl<A, B: Neg<Output = B>> Neg for &PairwiseAuthKey<A, B>
where PairwiseAuthKey<A, B>: Clone,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<A, B: Neg<Output = B>> Neg for PairwiseAuthKey<A, B>

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<A: PartialEq, B: PartialEq> PartialEq for PairwiseAuthKey<A, B>

Source§

fn eq(&self, other: &PairwiseAuthKey<A, B>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<A: Random, B: Random> Random for PairwiseAuthKey<A, B>

Source§

fn random(rng: impl CryptoRngCore) -> Self

Source§

fn random_n<Container: FromIterator<Self>>( rng: impl CryptoRngCore, size: usize, ) -> Container

Source§

fn random_array<M: Positive>(rng: impl CryptoRngCore) -> HeapArray<Self, M>

Source§

impl<A: Clone, B: Random> RandomWith<Arc<A>> for PairwiseAuthKey<A, B>

Source§

fn random_with(rng: impl CryptoRngCore, alpha: GlobalKey<A>) -> Self

Source§

fn random_n_with<Container: FromIterator<Self>>( rng: impl CryptoRngCore, size: usize, data: D, ) -> Container

Source§

fn random_n_with_each<Container: FromIterator<Self>>( rng: impl CryptoRngCore, all_data: impl IntoExactSizeIterator<Item = D>, ) -> Container

Source§

impl<'de, A: SchemaRead<'de, Dst = A>, B: SchemaRead<'de, Dst = B>> SchemaRead<'de> for PairwiseAuthKey<A, B>

Source§

type Dst = PairwiseAuthKey<A, B>

Source§

fn read( reader: &mut impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> ReadResult<()>

Read into dst from reader. Read more
Source§

const TYPE_META: TypeMeta = TypeMeta::Dynamic

Source§

fn get(reader: &mut impl Reader<'de>) -> Result<Self::Dst, ReadError>

Read Self::Dst from reader into a new Self::Dst.
Source§

impl<A: SchemaWrite<Src = A>, B: SchemaWrite<Src = B>> SchemaWrite for PairwiseAuthKey<A, B>

Source§

type Src = PairwiseAuthKey<A, B>

Source§

fn size_of(src: &Self::Src) -> WriteResult<usize>

Get the serialized size of Self::Src.
Source§

fn write(writer: &mut impl Writer, src: &Self::Src) -> WriteResult<()>

Write Self::Src to writer.
Source§

const TYPE_META: TypeMeta = TypeMeta::Dynamic

Source§

impl<A, B> Serialize for PairwiseAuthKey<A, B>
where A: Serialize, B: Serialize,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<A: PartialEq, B> Sub<&PairwiseAuthKey<A, B>> for &PairwiseAuthKey<A, B>
where for<'a> B: Sub<&'a B, Output = B>, PairwiseAuthKey<A, B>: Clone,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &PairwiseAuthKey<A, B>) -> Self::Output

Performs the - operation. Read more
Source§

impl<A: PartialEq, B> Sub<&PairwiseAuthKey<A, B>> for PairwiseAuthKey<A, B>
where for<'a> B: Sub<&'a B, Output = B>,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the - operator.
Source§

fn sub(self, other: &PairwiseAuthKey<A, B>) -> Self::Output

Performs the - operation. Read more
Source§

impl<A: PartialEq, B> Sub<PairwiseAuthKey<A, B>> for &PairwiseAuthKey<A, B>
where for<'a> B: Sub<&'a B, Output = B>, PairwiseAuthKey<A, B>: Clone,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: PairwiseAuthKey<A, B>) -> Self::Output

Performs the - operation. Read more
Source§

impl<A: PartialEq, B> Sub for PairwiseAuthKey<A, B>
where for<'a> B: Sub<&'a B, Output = B>,

Source§

type Output = PairwiseAuthKey<A, B>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: PairwiseAuthKey<A, B>) -> Self::Output

Performs the - operation. Read more
Source§

impl<'a, A: PartialEq, B> SubAssign<&'a PairwiseAuthKey<A, B>> for PairwiseAuthKey<A, B>
where for<'b> B: SubAssign<&'b B>,

Source§

fn sub_assign(&mut self, other: &'a PairwiseAuthKey<A, B>)

Performs the -= operation. Read more
Source§

impl<'a, A: PartialEq, B> SubAssign for PairwiseAuthKey<A, B>
where for<'b> B: SubAssign<&'b B>,

Source§

fn sub_assign(&mut self, rhs: PairwiseAuthKey<A, B>)

Performs the -= operation. Read more
Source§

impl<A: Default + PartialEq, B> Sum for PairwiseAuthKey<A, B>
where for<'a> B: Add<&'a B, Output = B> + Default,

Source§

fn sum<I: Iterator<Item = Self>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl<A: Eq, B: Eq> Eq for PairwiseAuthKey<A, B>

Source§

impl<A, B> StructuralPartialEq for PairwiseAuthKey<A, B>

Auto Trait Implementations§

§

impl<A, B> Freeze for PairwiseAuthKey<A, B>
where B: Freeze,

§

impl<A, B> RefUnwindSafe for PairwiseAuthKey<A, B>

§

impl<A, B> Send for PairwiseAuthKey<A, B>
where B: Send, A: Sync + Send,

§

impl<A, B> Sync for PairwiseAuthKey<A, B>
where B: Sync, A: Sync + Send,

§

impl<A, B> Unpin for PairwiseAuthKey<A, B>
where B: Unpin,

§

impl<A, B> UnsafeUnpin for PairwiseAuthKey<A, B>
where B: UnsafeUnpin,

§

impl<A, B> UnwindSafe for PairwiseAuthKey<A, B>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<'de, T> Deserialize<'de> for T
where T: SchemaRead<'de>,

Source§

fn deserialize(src: &'de [u8]) -> Result<Self::Dst, ReadError>

Deserialize bytes into a new Self::Dst.
Source§

fn deserialize_into( src: &'de [u8], dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>

Deserialize bytes into target.
Source§

impl<T> DeserializeOwned for T
where T: SchemaReadOwned,

Source§

fn deserialize_from<'de>( src: &mut impl Reader<'de>, ) -> Result<Self::Dst, ReadError>

Deserialize from the given Reader into a new Self::Dst.
Source§

fn deserialize_from_into<'de>( src: &mut impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>

Deserialize from the given Reader into dst.
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Serialize for T
where T: SchemaWrite + ?Sized,

Source§

fn serialize(src: &Self::Src) -> Result<Vec<u8>, WriteError>

Serialize a serializable type into a Vec of bytes.
Source§

fn serialize_into( dst: &mut impl Writer, src: &Self::Src, ) -> Result<(), WriteError>

Serialize a serializable type into the given byte buffer.
Source§

fn serialized_size(src: &Self::Src) -> Result<u64, WriteError>

Get the size in bytes of the type when serialized.
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T, Rhs, Output> GroupOps<Rhs, Output> for T
where T: Add<Rhs, Output = Output> + Sub<Rhs, Output = Output> + AddAssign<Rhs> + SubAssign<Rhs>,

Source§

impl<T, Rhs, Output> GroupOpsOwned<Rhs, Output> for T
where T: for<'r> GroupOps<&'r Rhs, Output>,

Source§

impl<T, S> IntoExactSizeIterator for T
where T: IntoIterator<IntoIter = S>, S: ExactSizeIterator<Item = <T as IntoIterator>::Item>,

Source§

impl<T, Rhs, Output> ScalarMul<Rhs, Output> for T
where T: Mul<Rhs, Output = Output> + MulAssign<Rhs>,

Source§

impl<T, Rhs, Output> ScalarMulOwned<Rhs, Output> for T
where T: for<'r> ScalarMul<&'r Rhs, Output>,

Source§

impl<T> SchemaReadOwned for T
where T: for<'de> SchemaRead<'de>,