Struct proof_of_sql::base::commitment::ColumnCommitments
source · 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: &Identifier) -> Option<C>
pub fn get_commitment(&self, identifier: &Identifier) -> Option<C>
Returns the commitment with the given identifier.
sourcepub fn get_metadata(
&self,
identifier: &Identifier,
) -> Option<&ColumnCommitmentMetadata>
pub fn get_metadata( &self, identifier: &Identifier, ) -> Option<&ColumnCommitmentMetadata>
Returns the metadata for the commitment with the given identifier.
sourcepub fn iter(
&self,
) -> Map<Zip<<&'_ ColumnCommitmentMetadataMap as IntoIterator>::IntoIter, Iter<'_, C>>, fn(_: ((&'_ Identifier, &'_ ColumnCommitmentMetadata), &'_ C)) -> (&'_ Identifier, &'_ ColumnCommitmentMetadata, &'_ C)> ⓘ
pub fn iter( &self, ) -> Map<Zip<<&'_ ColumnCommitmentMetadataMap as IntoIterator>::IntoIter, Iter<'_, C>>, fn(_: ((&'_ Identifier, &'_ ColumnCommitmentMetadata), &'_ C)) -> (&'_ Identifier, &'_ ColumnCommitmentMetadata, &'_ C)> ⓘ
Iterate over the metadata and commitments by reference.
sourcepub fn try_from_columns_with_offset<'a, COL>(
columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<ColumnCommitments<C>, DuplicateIdentifiers>where
COL: Into<CommittableColumn<'a>>,
pub fn try_from_columns_with_offset<'a, COL>(
columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<ColumnCommitments<C>, DuplicateIdentifiers>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 Identifier, 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 Identifier, 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 Identifier, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<(), DuplicateIdentifiers>where
COL: Into<CommittableColumn<'a>>,
pub fn try_extend_columns_with_offset<'a, COL>(
&mut self,
columns: impl IntoIterator<Item = (&'a Identifier, COL)>,
offset: usize,
setup: &C::PublicSetup<'_>,
) -> Result<(), DuplicateIdentifiers>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§fn clone_from(&mut self, source: &Self)
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<(Identifier, ColumnCommitmentMetadata, C)> for ColumnCommitments<C>
impl<C> FromIterator<(Identifier, ColumnCommitmentMetadata, C)> for ColumnCommitments<C>
source§fn from_iter<T: IntoIterator<Item = (Identifier, ColumnCommitmentMetadata, C)>>(
iter: T,
) -> Self
fn from_iter<T: IntoIterator<Item = (Identifier, ColumnCommitmentMetadata, C)>>( iter: T, ) -> Self
source§impl<'a, C> IntoIterator for &'a ColumnCommitments<C>
impl<'a, C> IntoIterator for &'a ColumnCommitments<C>
§type Item = (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)
type Item = (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)
§type IntoIter = Map<Zip<<&'a IndexMap<Identifier, ColumnCommitmentMetadata> as IntoIterator>::IntoIter, Iter<'a, C>>, fn(_: ((&'a Identifier, &'a ColumnCommitmentMetadata), &'a C)) -> (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)>
type IntoIter = Map<Zip<<&'a IndexMap<Identifier, ColumnCommitmentMetadata> as IntoIterator>::IntoIter, Iter<'a, C>>, fn(_: ((&'a Identifier, &'a ColumnCommitmentMetadata), &'a C)) -> (&'a Identifier, &'a ColumnCommitmentMetadata, &'a C)>
source§impl<C> IntoIterator for ColumnCommitments<C>
impl<C> IntoIterator for ColumnCommitments<C>
§type Item = (Identifier, ColumnCommitmentMetadata, C)
type Item = (Identifier, ColumnCommitmentMetadata, C)
§type IntoIter = Map<Zip<<IndexMap<Identifier, ColumnCommitmentMetadata> as IntoIterator>::IntoIter, IntoIter<C>>, fn(_: ((Identifier, ColumnCommitmentMetadata), C)) -> (Identifier, ColumnCommitmentMetadata, C)>
type IntoIter = Map<Zip<<IndexMap<Identifier, ColumnCommitmentMetadata> as IntoIterator>::IntoIter, IntoIter<C>>, fn(_: ((Identifier, ColumnCommitmentMetadata), C)) -> (Identifier, 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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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> 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 more