Struct Vector

Source
pub struct Vector;
Expand description

Namespace for functions that perform encoding of vectors.

The length of a vector is restricted to at most 0x02000000, for compatibility with the Zcash consensus rules.

Implementations§

Source§

impl Vector

Source

pub fn read<R: Read, E, F>(reader: R, func: F) -> Result<Vec<E>>
where F: Fn(&mut R) -> Result<E>,

Reads a vector, assuming the encoding written by Vector::write, using the provided function to decode each element of the vector.

Source

pub fn read_collected<R: Read, E, F, O: FromIterator<E>>( reader: R, func: F, ) -> Result<O>
where F: Fn(&mut R) -> Result<E>,

Reads a CompactSize-prefixed series of elements into a collection, assuming the encoding written by Vector::write, using the provided function to decode each element.

Source

pub fn read_collected_mut<R: Read, E, F, O: FromIterator<E>>( reader: R, func: F, ) -> Result<O>
where F: FnMut(&mut R) -> Result<E>,

Reads a CompactSize-prefixed series of elements into a collection, assuming the encoding written by Vector::write, using the provided function to decode each element.

Source

pub fn write<W: Write, E, F>(writer: W, vec: &[E], func: F) -> Result<()>
where F: Fn(&mut W, &E) -> Result<()>,

Writes a slice of values by writing CompactSize-encoded integer specifying the length of the slice to the stream, followed by the encoding of each element of the slice as performed by the provided function.

Source

pub fn write_nonempty<W: Write, E, F>( writer: W, vec: &NonEmpty<E>, func: F, ) -> Result<()>
where F: Fn(&mut W, &E) -> Result<()>,

Writes a NonEmpty container of values to the stream using the same encoding as [Vector::write]

Source

pub fn write_sized<W: Write, E, F, I: Iterator<Item = E> + ExactSizeIterator>( writer: W, items: I, func: F, ) -> Result<()>
where F: Fn(&mut W, E) -> Result<()>,

Writes an iterator of values by writing CompactSize-encoded integer specifying the length of the iterator to the stream, followed by the encoding of each element of the iterator as performed by the provided function.

Source

pub fn serialized_size_of_u8_vec(vec: &[u8]) -> usize

Returns the serialized size of a vector of u8 as written by [Vector::write].

Auto Trait Implementations§

§

impl Freeze for Vector

§

impl RefUnwindSafe for Vector

§

impl Send for Vector

§

impl Sync for Vector

§

impl Unpin for Vector

§

impl UnwindSafe for Vector

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<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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.