pub struct ColumnCommitments<C> { /* private fields */ }
Expand description
Commitments for a collection of columns with some metadata.
These columns do not need to belong to the same table, and can have differing lengths.
Implementations§
Source§impl<C: Commitment> ColumnCommitments<C>
impl<C: Commitment> ColumnCommitments<C>
Sourcepub fn from_accessor_with_max_bounds(
table: &TableRef,
columns: &[ColumnField],
accessor: &impl CommitmentAccessor<C>,
) -> Self
pub fn from_accessor_with_max_bounds( table: &TableRef, columns: &[ColumnField], accessor: &impl CommitmentAccessor<C>, ) -> Self
Create a new ColumnCommitments
for a table from a commitment accessor.
Sourcepub fn commitments(&self) -> &Vec<C>
pub fn commitments(&self) -> &Vec<C>
Returns a reference to the stored commitments.
Sourcepub fn column_metadata(&self) -> &ColumnCommitmentMetadataMap
pub fn column_metadata(&self) -> &ColumnCommitmentMetadataMap
Returns a reference to the stored column metadata.
Sourcepub fn get_commitment(&self, identifier: &Ident) -> Option<C>
pub fn get_commitment(&self, identifier: &Ident) -> Option<C>
Returns the commitment with the given ident.
Sourcepub fn get_metadata(
&self,
identifier: &Ident,
) -> Option<&ColumnCommitmentMetadata>
pub fn get_metadata( &self, identifier: &Ident, ) -> Option<&ColumnCommitmentMetadata>
Returns the metadata for the commitment with the given ident.
Sourcepub fn iter(
&self,
) -> Map<Zip<<&'_ ColumnCommitmentMetadataMap as IntoIterator>::IntoIter, Iter<'_, C>>, fn(((&'_ Ident, &'_ ColumnCommitmentMetadata), &'_ C)) -> (&'_ Ident, &'_ ColumnCommitmentMetadata, &'_ C)> ⓘ
pub fn iter( &self, ) -> Map<Zip<<&'_ ColumnCommitmentMetadataMap as IntoIterator>::IntoIter, Iter<'_, C>>, fn(((&'_ Ident, &'_ ColumnCommitmentMetadata), &'_ C)) -> (&'_ Ident, &'_ ColumnCommitmentMetadata, &'_ C)> ⓘ
Iterate over the metadata and commitments by reference.
Sourcepub fn try_from_columns_with_offset<'a, COL>(
columns: impl IntoIterator<Item = (&'a Ident, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<ColumnCommitments<C>, DuplicateIdents>where
COL: Into<CommittableColumn<'a>>,
pub fn try_from_columns_with_offset<'a, COL>(
columns: impl IntoIterator<Item = (&'a Ident, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<ColumnCommitments<C>, DuplicateIdents>where
COL: Into<CommittableColumn<'a>>,
Returns ColumnCommitments
to the provided columns using the given generator offset
Sourcepub fn try_append_rows_with_offset<'a, COL>(
&mut self,
columns: impl IntoIterator<Item = (&'a Ident, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<(), AppendColumnCommitmentsError>where
COL: Into<CommittableColumn<'a>>,
pub fn try_append_rows_with_offset<'a, COL>(
&mut self,
columns: impl IntoIterator<Item = (&'a Ident, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<(), AppendColumnCommitmentsError>where
COL: Into<CommittableColumn<'a>>,
Append rows of data from the provided columns to the existing commitments.
The given generator offset will be used for committing to the new rows. You most likely want this to be equal to the 0-indexed row number of the first new row.
Will error on a variety of mismatches.
See ColumnCommitmentsMismatch
for an enumeration of these errors.
Sourcepub fn try_extend_columns_with_offset<'a, COL>(
&mut self,
columns: impl IntoIterator<Item = (&'a Ident, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<(), DuplicateIdents>where
COL: Into<CommittableColumn<'a>>,
pub fn try_extend_columns_with_offset<'a, COL>(
&mut self,
columns: impl IntoIterator<Item = (&'a Ident, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<(), DuplicateIdents>where
COL: Into<CommittableColumn<'a>>,
Add new columns to this ColumnCommitments
using the given generator offset.
Sourcepub fn try_add(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
Self: Sized,
pub fn try_add(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
Self: Sized,
Add two ColumnCommitments
together.
Will error on a variety of mismatches.
See ColumnCommitmentsMismatch
for an enumeration of these errors.
Sourcepub fn try_sub(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
Self: Sized,
pub fn try_sub(self, other: Self) -> Result<Self, ColumnCommitmentsMismatch>where
Self: Sized,
Subtract two ColumnCommitments
.
Will error on a variety of mismatches.
See ColumnCommitmentsMismatch
for an enumeration of these errors.
Trait Implementations§
Source§impl<C: Clone> Clone for ColumnCommitments<C>
impl<C: Clone> Clone for ColumnCommitments<C>
Source§fn clone(&self) -> ColumnCommitments<C>
fn clone(&self) -> ColumnCommitments<C>
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<C: Debug> Debug for ColumnCommitments<C>
impl<C: Debug> Debug for ColumnCommitments<C>
Source§impl<C: Default> Default for ColumnCommitments<C>
impl<C: Default> Default for ColumnCommitments<C>
Source§fn default() -> ColumnCommitments<C>
fn default() -> ColumnCommitments<C>
Source§impl<'de, C> Deserialize<'de> for ColumnCommitments<C>where
C: Deserialize<'de>,
impl<'de, C> Deserialize<'de> for ColumnCommitments<C>where
C: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<C> FromIterator<(Ident, ColumnCommitmentMetadata, C)> for ColumnCommitments<C>
impl<C> FromIterator<(Ident, ColumnCommitmentMetadata, C)> for ColumnCommitments<C>
Source§fn from_iter<T: IntoIterator<Item = (Ident, ColumnCommitmentMetadata, C)>>(
iter: T,
) -> Self
fn from_iter<T: IntoIterator<Item = (Ident, ColumnCommitmentMetadata, C)>>( iter: T, ) -> Self
Source§impl<'a, C> IntoIterator for &'a ColumnCommitments<C>
impl<'a, C> IntoIterator for &'a ColumnCommitments<C>
Source§type Item = (&'a Ident, &'a ColumnCommitmentMetadata, &'a C)
type Item = (&'a Ident, &'a ColumnCommitmentMetadata, &'a C)
Source§type IntoIter = Map<Zip<<&'a IndexMap<Ident, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, Iter<'a, C>>, fn(((&'a Ident, &'a ColumnCommitmentMetadata), &'a C)) -> (&'a Ident, &'a ColumnCommitmentMetadata, &'a C)>
type IntoIter = Map<Zip<<&'a IndexMap<Ident, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, Iter<'a, C>>, fn(((&'a Ident, &'a ColumnCommitmentMetadata), &'a C)) -> (&'a Ident, &'a ColumnCommitmentMetadata, &'a C)>
Source§impl<C> IntoIterator for ColumnCommitments<C>
impl<C> IntoIterator for ColumnCommitments<C>
Source§type Item = (Ident, ColumnCommitmentMetadata, C)
type Item = (Ident, ColumnCommitmentMetadata, C)
Source§type IntoIter = Map<Zip<<IndexMap<Ident, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, IntoIter<C>>, fn(((Ident, ColumnCommitmentMetadata), C)) -> (Ident, ColumnCommitmentMetadata, C)>
type IntoIter = Map<Zip<<IndexMap<Ident, ColumnCommitmentMetadata, BuildHasherDefault<AHasher>> as IntoIterator>::IntoIter, IntoIter<C>>, fn(((Ident, ColumnCommitmentMetadata), C)) -> (Ident, ColumnCommitmentMetadata, C)>
Source§impl<C: PartialEq> PartialEq for ColumnCommitments<C>
impl<C: PartialEq> PartialEq for ColumnCommitments<C>
Source§impl<C> Serialize for ColumnCommitments<C>where
C: Serialize,
impl<C> Serialize for ColumnCommitments<C>where
C: Serialize,
impl<C: Eq> Eq for ColumnCommitments<C>
impl<C> StructuralPartialEq for ColumnCommitments<C>
Auto Trait Implementations§
impl<C> Freeze for ColumnCommitments<C>
impl<C> RefUnwindSafe for ColumnCommitments<C>where
C: RefUnwindSafe,
impl<C> Send for ColumnCommitments<C>where
C: Send,
impl<C> Sync for ColumnCommitments<C>where
C: Sync,
impl<C> Unpin for ColumnCommitments<C>where
C: Unpin,
impl<C> UnwindSafe for ColumnCommitments<C>where
C: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.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
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.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
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.