Struct dharitri_wasm::types::ManagedByteArray
source · pub struct ManagedByteArray<M, const N: usize>where
M: ManagedTypeApi,{ /* private fields */ }
Expand description
A list of items that lives inside a managed buffer.
Items can be either stored there in full (e.g. u32
),
or just via handle (e.g. BigUint<M>
).
Implementations§
source§impl<M, const N: usize> ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> ManagedByteArray<M, N>where
M: ManagedTypeApi,
pub fn new_from_bytes(api: M, bytes: &[u8; N]) -> Self
pub fn is_empty(&self) -> bool
pub fn as_managed_buffer(&self) -> &ManagedBuffer<M>
Trait Implementations§
source§impl<M, const N: usize> Clone for ManagedByteArray<M, N>where
M: ManagedTypeApi + Clone,
impl<M, const N: usize> Clone for ManagedByteArray<M, N>where
M: ManagedTypeApi + Clone,
source§fn clone(&self) -> ManagedByteArray<M, N>
fn clone(&self) -> ManagedByteArray<M, N>
Returns a copy 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<M, const N: usize> Debug for ManagedByteArray<M, N>where
M: ManagedTypeApi + Debug,
impl<M, const N: usize> Debug for ManagedByteArray<M, N>where
M: ManagedTypeApi + Debug,
source§impl<M, const N: usize> From<ManagedByteArray<M, N>> for StorageKey<M>where
M: ManagedTypeApi,
impl<M, const N: usize> From<ManagedByteArray<M, N>> for StorageKey<M>where
M: ManagedTypeApi,
source§fn from(mba: ManagedByteArray<M, N>) -> Self
fn from(mba: ManagedByteArray<M, N>) -> Self
Converts to this type from the input type.
source§impl<M, const N: usize> ManagedDefault<M> for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> ManagedDefault<M> for ManagedByteArray<M, N>where
M: ManagedTypeApi,
fn managed_default(api: M) -> Self
source§impl<M, const N: usize> ManagedType<M> for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> ManagedType<M> for ManagedByteArray<M, N>where
M: ManagedTypeApi,
fn type_manager(&self) -> M
source§impl<M, const N: usize> NestedDecode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> NestedDecode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
source§fn dep_decode<I: NestedDecodeInput>(input: &mut I) -> Result<Self, DecodeError>
fn dep_decode<I: NestedDecodeInput>(input: &mut I) -> Result<Self, DecodeError>
Attempt to deserialise the value from input,
using the format of an object nested inside another structure.
In case of success returns the deserialized value and the number of bytes consumed during the operation.
source§fn dep_decode_or_exit<I, ExitCtx>(
input: &mut I,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> Selfwhere
I: NestedDecodeInput,
ExitCtx: Clone,
fn dep_decode_or_exit<I, ExitCtx>(
input: &mut I,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> Selfwhere
I: NestedDecodeInput,
ExitCtx: Clone,
Version of
top_decode
that exits quickly in case of error.
Its purpose is to create smaller implementations
in cases where the application is supposed to exit directly on decode error.source§impl<M, const N: usize> NestedEncode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> NestedEncode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
source§fn dep_encode<O: NestedEncodeOutput>(
&self,
dest: &mut O
) -> Result<(), EncodeError>
fn dep_encode<O: NestedEncodeOutput>( &self, dest: &mut O ) -> Result<(), EncodeError>
NestedEncode to output, using the format of an object nested inside another structure.
Does not provide compact version.
source§fn dep_encode_or_exit<O, ExitCtx>(
&self,
dest: &mut O,
c: ExitCtx,
exit: fn(_: ExitCtx, _: EncodeError) -> !
)where
O: NestedEncodeOutput,
ExitCtx: Clone,
fn dep_encode_or_exit<O, ExitCtx>(
&self,
dest: &mut O,
c: ExitCtx,
exit: fn(_: ExitCtx, _: EncodeError) -> !
)where
O: NestedEncodeOutput,
ExitCtx: Clone,
Version of
top_decode
that exits quickly in case of error.
Its purpose is to create smaller implementations
in cases where the application is supposed to exit directly on decode error.source§impl<M, const N: usize> PartialEq for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> PartialEq for ManagedByteArray<M, N>where
M: ManagedTypeApi,
source§impl<M, const N: usize> TopDecode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> TopDecode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
source§fn top_decode<I: TopDecodeInput>(input: I) -> Result<Self, DecodeError>
fn top_decode<I: TopDecodeInput>(input: I) -> Result<Self, DecodeError>
Attempt to deserialize the value from input.
source§fn top_decode_or_exit<I, ExitCtx>(
input: I,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> Selfwhere
I: TopDecodeInput,
ExitCtx: Clone,
fn top_decode_or_exit<I, ExitCtx>(
input: I,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> Selfwhere
I: TopDecodeInput,
ExitCtx: Clone,
Version of
top_decode
that exits quickly in case of error.
Its purpose is to create smaller implementations
in cases where the application is supposed to exit directly on decode error.source§impl<M, const N: usize> TopEncode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> TopEncode for ManagedByteArray<M, N>where
M: ManagedTypeApi,
source§fn top_encode<O: TopEncodeOutput>(&self, output: O) -> Result<(), EncodeError>
fn top_encode<O: TopEncodeOutput>(&self, output: O) -> Result<(), EncodeError>
Attempt to serialize the value to ouput.
source§fn top_encode_or_exit<O, ExitCtx>(
&self,
output: O,
c: ExitCtx,
exit: fn(_: ExitCtx, _: EncodeError) -> !
)where
O: TopEncodeOutput,
ExitCtx: Clone,
fn top_encode_or_exit<O, ExitCtx>(
&self,
output: O,
c: ExitCtx,
exit: fn(_: ExitCtx, _: EncodeError) -> !
)where
O: TopEncodeOutput,
ExitCtx: Clone,
Version of
top_decode
that exits quickly in case of error.
Its purpose is to create smaller bytecode implementations
in cases where the application is supposed to exit directly on decode error.source§impl<M, const N: usize> TypeAbi for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M, const N: usize> TypeAbi for ManagedByteArray<M, N>where
M: ManagedTypeApi,
source§fn provide_type_descriptions<TDC: TypeDescriptionContainer>(
accumulator: &mut TDC
)
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
A type can provide more than its own description.
For instance, a struct can also provide the descriptions of the type of its fields.
TypeAbi doesn’t care for the exact accumulator type,
which is abstracted by the TypeDescriptionContainer trait.
impl<M, const N: usize> Eq for ManagedByteArray<M, N>where
M: ManagedTypeApi,
Auto Trait Implementations§
impl<M, const N: usize> RefUnwindSafe for ManagedByteArray<M, N>where
M: RefUnwindSafe,
impl<M, const N: usize> Send for ManagedByteArray<M, N>where
M: Send,
impl<M, const N: usize> Sync for ManagedByteArray<M, N>where
M: Sync,
impl<M, const N: usize> Unpin for ManagedByteArray<M, N>where
M: Unpin,
impl<M, const N: usize> UnwindSafe for ManagedByteArray<M, N>where
M: UnwindSafe,
Blanket Implementations§
source§impl<M, T> AsManagedRef<M, T> for Twhere
M: ManagedTypeApi,
T: ManagedType<M>,
impl<M, T> AsManagedRef<M, T> for Twhere
M: ManagedTypeApi,
T: ManagedType<M>,
fn as_managed_ref(&self) -> ManagedRef<M, T>
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