Struct elrond_wasm::types::BoxedBytes [−][src]
pub struct BoxedBytes(_);
Expand description
Simple wrapper around a boxed byte slice, but with a lot of optimized methods for manipulating it. The focus is on reducing code size rather improving speed.
Implementations
Allocates an uninitialized BoxedBytes to heap.
Safety
Should only be called if the contents are initialized immediately afterwards, e.g. via a FFI call.
Create new instance by concatenating several byte slices.
Splits BoxedBytes into 2 others at designated position. Returns the original and an empty BoxedBytes if position arugment out of range.
Trait Implementations
Performs the conversion.
Performs the conversion.
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. Read more
fn dep_decode_or_exit<I: NestedDecodeInput, ExitCtx: Clone>(
input: &mut I,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> Self
fn dep_decode_or_exit<I: NestedDecodeInput, ExitCtx: Clone>(
input: &mut I,
c: ExitCtx,
exit: fn(_: ExitCtx, _: DecodeError) -> !
) -> Self
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. Read more
NestedEncode to output, using the format of an object nested inside another structure. Does not provide compact version. Read more
fn dep_encode_or_exit<O: NestedEncodeOutput, ExitCtx: Clone>(
&self,
dest: &mut O,
c: ExitCtx,
exit: fn(_: ExitCtx, _: EncodeError) -> !
)
fn dep_encode_or_exit<O: NestedEncodeOutput, ExitCtx: Clone>(
&self,
dest: &mut O,
c: ExitCtx,
exit: fn(_: ExitCtx, _: EncodeError) -> !
)
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. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Attempt to deserialize the value from input.
fn top_decode_or_exit<I: TopDecodeInput, ExitCtx: Clone>(
input: I,
_: ExitCtx,
_: fn(_: ExitCtx, _: DecodeError) -> !
) -> Self
fn top_decode_or_exit<I: TopDecodeInput, ExitCtx: Clone>(
input: I,
_: ExitCtx,
_: fn(_: ExitCtx, _: DecodeError) -> !
) -> Self
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. Read more
Attempt to serialize the value to ouput.
fn top_encode_or_exit<O: TopEncodeOutput, ExitCtx: Clone>(
&self,
output: O,
_: ExitCtx,
_: fn(_: ExitCtx, _: EncodeError) -> !
)
fn top_encode_or_exit<O: TopEncodeOutput, ExitCtx: Clone>(
&self,
output: O,
_: ExitCtx,
_: fn(_: ExitCtx, _: EncodeError) -> !
)
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. Read more
This allows us to use a mutable BoxedBytes as top encode output.
type NestedBuffer = Vec<u8>
type NestedBuffer = Vec<u8>
Type of NestedEncodeOutput
that can be spawned to gather serializations of children.
fn set_specialized<T, F>(
self,
_value: &T,
else_serialization: F
) -> Result<(), EncodeError> where
T: TryStaticCast,
F: FnOnce(Self) -> Result<(), EncodeError>,
fn set_specialized<T, F>(
self,
_value: &T,
else_serialization: F
) -> Result<(), EncodeError> where
T: TryStaticCast,
F: FnOnce(Self) -> Result<(), EncodeError>,
Allows special handling of special types.
Also requires an alternative serialization, in case the special handling is not covered.
The alternative serialization, else_serialization
is only called when necessary and
is normally compiled out via monomorphization. Read more
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. Read more
Auto Trait Implementations
impl RefUnwindSafe for BoxedBytes
impl Send for BoxedBytes
impl Sync for BoxedBytes
impl Unpin for BoxedBytes
impl UnwindSafe for BoxedBytes
Blanket Implementations
Mutably borrows from an owned value. Read more