pub struct AlignedVec { /* private fields */ }
Expand description
A Vec
of bytes whose length is guaranteed to be aligned to 4 bytes.
This makes certain operations cheaper in zk-context (namely, concatenation).
Implementations§
Source§impl AlignedVec
impl AlignedVec
Sourcepub fn new(vector: Vec<u8>) -> Self
pub fn new(vector: Vec<u8>) -> Self
Creates a new AlignedVec
whose length is aligned to
AlignedVec::ALIGNMENT
bytes.
Sourcepub fn extend(&mut self, other: &Self)
pub fn extend(&mut self, other: &Self)
Extends self
with the contents of the other AlignedVec
.
Trait Implementations§
Source§impl BorshDeserialize for AlignedVec
impl BorshDeserialize for AlignedVec
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self, Error>
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for AlignedVec
impl BorshSerialize for AlignedVec
Source§impl Clone for AlignedVec
impl Clone for AlignedVec
Source§fn clone(&self) -> AlignedVec
fn clone(&self) -> AlignedVec
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for AlignedVec
impl Debug for AlignedVec
Source§impl<'de> Deserialize<'de> for AlignedVec
impl<'de> Deserialize<'de> for AlignedVec
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for AlignedVec
impl PartialEq for AlignedVec
Source§impl Serialize for AlignedVec
impl Serialize for AlignedVec
impl Eq for AlignedVec
impl StructuralPartialEq for AlignedVec
Auto Trait Implementations§
impl Freeze for AlignedVec
impl RefUnwindSafe for AlignedVec
impl Send for AlignedVec
impl Sync for AlignedVec
impl Unpin for AlignedVec
impl UnwindSafe for AlignedVec
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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 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>
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