Trait MerkleLeaves

Source
pub trait MerkleLeaves {
    type Leaf: CommitId<CommitmentId = MerkleHash>;
    type LeafIter<'tmp>: ExactSizeIterator<Item = Self::Leaf>
       where Self: 'tmp;

    // Required method
    fn merkle_leaves(&self) -> Self::LeafIter<'_>;
}

Required Associated Types§

Source

type Leaf: CommitId<CommitmentId = MerkleHash>

Source

type LeafIter<'tmp>: ExactSizeIterator<Item = Self::Leaf> where Self: 'tmp

Required Methods§

Source

fn merkle_leaves(&self) -> Self::LeafIter<'_>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T, const MIN: usize> MerkleLeaves for Confined<BTreeSet<T>, MIN, { _ }>
where T: CommitId<CommitmentId = MerkleHash> + Copy + Ord,

Source§

type Leaf = T

Source§

type LeafIter<'tmp> = Copied<Iter<'tmp, T>> where Self: 'tmp

Source§

fn merkle_leaves(&self) -> Self::LeafIter<'_>

Source§

impl<T, const MIN: usize> MerkleLeaves for Confined<BTreeSet<T>, MIN, { _ }>
where T: CommitId<CommitmentId = MerkleHash> + Copy + Ord,

Source§

type Leaf = T

Source§

type LeafIter<'tmp> = Copied<Iter<'tmp, T>> where Self: 'tmp

Source§

fn merkle_leaves(&self) -> Self::LeafIter<'_>

Source§

impl<T, const MIN: usize> MerkleLeaves for Confined<BTreeSet<T>, MIN, { _ }>
where T: CommitId<CommitmentId = MerkleHash> + Copy + Ord,

Source§

type Leaf = T

Source§

type LeafIter<'tmp> = Copied<Iter<'tmp, T>> where Self: 'tmp

Source§

fn merkle_leaves(&self) -> Self::LeafIter<'_>

Source§

impl<T, const MIN: usize> MerkleLeaves for Confined<Vec<T>, MIN, { _ }>
where T: CommitId<CommitmentId = MerkleHash> + Copy,

Source§

type Leaf = T

Source§

type LeafIter<'tmp> = Copied<Iter<'tmp, T>> where Self: 'tmp

Source§

fn merkle_leaves(&self) -> Self::LeafIter<'_>

Source§

impl<T, const MIN: usize> MerkleLeaves for Confined<Vec<T>, MIN, { _ }>
where T: CommitId<CommitmentId = MerkleHash> + Copy,

Source§

type Leaf = T

Source§

type LeafIter<'tmp> = Copied<Iter<'tmp, T>> where Self: 'tmp

Source§

fn merkle_leaves(&self) -> Self::LeafIter<'_>

Source§

impl<T, const MIN: usize> MerkleLeaves for Confined<Vec<T>, MIN, { _ }>
where T: CommitId<CommitmentId = MerkleHash> + Copy,

Source§

type Leaf = T

Source§

type LeafIter<'tmp> = Copied<Iter<'tmp, T>> where Self: 'tmp

Source§

fn merkle_leaves(&self) -> Self::LeafIter<'_>

Implementors§