Skip to main content

BorrowedCursor

Struct BorrowedCursor 

Source
pub struct BorrowedCursor<'a, T> { /* private fields */ }
🔬This is a nightly-only experimental API. (core_io_borrowed_buf)
Expand description

A writeable view of the unfilled portion of a BorrowedBuf.

The unfilled portion may be uninitialized; see BorrowedBuf for details.

Data can be written directly to the cursor by using append or indirectly by getting a slice of part or all of the cursor and writing into the slice. In the indirect case, the caller must call advance after writing to inform the cursor how many elements have been written.

Once elements are written to the cursor, they become part of the filled portion of the underlying BorrowedBuf and can no longer be accessed or re-written by the cursor. In other words, the cursor tracks the unfilled part of the underlying BorrowedBuf.

The lifetime 'a is a bound on the lifetime of the underlying buffer (which means it is a bound on the elements in that buffer by transitivity).

Implementations§

Source§

impl<'a, T> BorrowedCursor<'a, T>
where T: Copy,

Source

pub fn reborrow<'this>(&'this mut self) -> BorrowedCursor<'this, T>

🔬This is a nightly-only experimental API. (core_io_borrowed_buf)

Reborrows this cursor by cloning it with a smaller lifetime.

Since a cursor maintains unique access to its underlying buffer, the borrowed cursor is not accessible while the new cursor exists.

Source

pub fn capacity(&self) -> usize

🔬This is a nightly-only experimental API. (core_io_borrowed_buf)

Returns the available space in the cursor.

Source

pub fn written(&self) -> usize

🔬This is a nightly-only experimental API. (core_io_borrowed_buf)

Returns the number of elements written to the BorrowedBuf this cursor was created from.

In particular, the count returned is shared by all reborrows of the cursor.

Source

pub fn is_init(&self) -> bool

🔬This is a nightly-only experimental API. (borrowed_buf_init)

Returns true if the buffer is initialized.

Source

pub unsafe fn set_init(&mut self)

🔬This is a nightly-only experimental API. (borrowed_buf_init)

Set the buffer as fully initialized.

§Safety

All the elements of the cursor must be initialized.

Source

pub unsafe fn as_mut(&mut self) -> &mut [MaybeUninit<T>]

🔬This is a nightly-only experimental API. (core_io_borrowed_buf)

Returns a mutable reference to the whole cursor.

§Safety

The caller must not uninitialize any elements of the cursor if it is initialized.

Source

pub fn advance_checked(&mut self, n: usize) -> &mut BorrowedCursor<'a, T>

🔬This is a nightly-only experimental API. (borrowed_buf_init)

Advances the cursor by asserting that n elements have been filled.

After advancing, the n elements are no longer accessible via the cursor and can only be accessed via the underlying buffer. I.e., the buffer’s filled portion grows by n elements and its unfilled portion (and the capacity of this cursor) shrinks by n elements.

If less than n elements initialized (by the cursor’s point of view), set_init should be called first.

§Panics

Panics if there are less than n elements initialized.

Source

pub unsafe fn advance(&mut self, n: usize) -> &mut BorrowedCursor<'a, T>

🔬This is a nightly-only experimental API. (core_io_borrowed_buf)

Advances the cursor by asserting that n elements have been filled.

After advancing, the n elements are no longer accessible via the cursor and can only be accessed via the underlying buffer. I.e., the buffer’s filled portion grows by n elements and its unfilled portion (and the capacity of this cursor) shrinks by n elements.

§Safety

The caller must ensure that the first n elements of the cursor have been initialized.

Source

pub fn append(&mut self, buf: &[T])

🔬This is a nightly-only experimental API. (core_io_borrowed_buf)

Append elements to the cursor, advancing position within its buffer.

§Panics

Panics if self.capacity() is less than buf.len().

Source

pub fn with_unfilled_buf<R>( &mut self, f: impl FnOnce(&mut BorrowedBuf<'_, T>) -> R, ) -> R

🔬This is a nightly-only experimental API. (core_io_borrowed_buf)

Runs the given closure with a BorrowedBuf containing the unfilled part of the cursor.

This enables inspecting what was written to the cursor.

§Panics

Panics if the BorrowedBuf given to the closure is replaced by another one.

Source§

impl<'a, T> BorrowedCursor<'a, T>
where T: Default + Copy,

Source

pub fn ensure_init(&mut self) -> &mut [T]

🔬This is a nightly-only experimental API. (borrowed_buf_init)

Initializes all elements in the cursor with their default value and returns them.

Trait Implementations§

Source§

impl<T> Debug for BorrowedCursor<'_, T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'data, T> From<BorrowedCursor<'data, T>> for BorrowedBuf<'data, T>
where T: Copy,

Creates a new BorrowedBuf from a cursor.

Use BorrowedCursor::with_unfilled_buf instead for a safer alternative.

Source§

fn from(buf: BorrowedCursor<'data, T>) -> BorrowedBuf<'data, T>

Converts to this type from the input type.
Source§

impl<T> Send for BorrowedCursor<'_, T>
where T: Send,

Source§

impl<T> Sync for BorrowedCursor<'_, T>
where T: Sync,

Source§

impl<'a> Write for BorrowedCursor<'a, u8>

Source§

fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

Writes a buffer into this writer, returning how many bytes were written. Read more
Source§

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

Like write, except that it writes from a slice of buffers. Read more
Source§

fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
Source§

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

Attempts to write an entire buffer into this writer. Read more
Source§

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
Source§

fn flush(&mut self) -> Result<(), Error>

Flushes this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
1.0.0 · Source§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error encountered. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Write. Read more

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<W> LittleEndianWriteExt for W
where W: Write + ?Sized,

Source§

fn write_u16_le(&mut self, input: u16) -> Result<(), Error>

Source§

fn write_u32_le(&mut self, input: u32) -> Result<(), Error>

Source§

fn write_u64_le(&mut self, input: u64) -> Result<(), Error>

Source§

fn write_u128_le(&mut self, input: u128) -> Result<(), Error>

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<W> WriteBytesExt for W
where W: Write + ?Sized,

Source§

fn write_u8(&mut self, n: u8) -> Result<(), Error>

Writes an unsigned 8 bit integer to the underlying writer. Read more
Source§

fn write_i8(&mut self, n: i8) -> Result<(), Error>

Writes a signed 8 bit integer to the underlying writer. Read more
Source§

fn write_u16<T>(&mut self, n: u16) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned 16 bit integer to the underlying writer. Read more
Source§

fn write_i16<T>(&mut self, n: i16) -> Result<(), Error>
where T: ByteOrder,

Writes a signed 16 bit integer to the underlying writer. Read more
Source§

fn write_u24<T>(&mut self, n: u32) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned 24 bit integer to the underlying writer. Read more
Source§

fn write_i24<T>(&mut self, n: i32) -> Result<(), Error>
where T: ByteOrder,

Writes a signed 24 bit integer to the underlying writer. Read more
Source§

fn write_u32<T>(&mut self, n: u32) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned 32 bit integer to the underlying writer. Read more
Source§

fn write_i32<T>(&mut self, n: i32) -> Result<(), Error>
where T: ByteOrder,

Writes a signed 32 bit integer to the underlying writer. Read more
Source§

fn write_u48<T>(&mut self, n: u64) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned 48 bit integer to the underlying writer. Read more
Source§

fn write_i48<T>(&mut self, n: i64) -> Result<(), Error>
where T: ByteOrder,

Writes a signed 48 bit integer to the underlying writer. Read more
Source§

fn write_u64<T>(&mut self, n: u64) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned 64 bit integer to the underlying writer. Read more
Source§

fn write_i64<T>(&mut self, n: i64) -> Result<(), Error>
where T: ByteOrder,

Writes a signed 64 bit integer to the underlying writer. Read more
Source§

fn write_u128<T>(&mut self, n: u128) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned 128 bit integer to the underlying writer.
Source§

fn write_i128<T>(&mut self, n: i128) -> Result<(), Error>
where T: ByteOrder,

Writes a signed 128 bit integer to the underlying writer.
Source§

fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned n-bytes integer to the underlying writer. Read more
Source§

fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error>
where T: ByteOrder,

Writes a signed n-bytes integer to the underlying writer. Read more
Source§

fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error>
where T: ByteOrder,

Writes an unsigned n-bytes integer to the underlying writer. Read more
Source§

fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error>
where T: ByteOrder,

Writes a signed n-bytes integer to the underlying writer. Read more
Source§

fn write_f32<T>(&mut self, n: f32) -> Result<(), Error>
where T: ByteOrder,

Writes a IEEE754 single-precision (4 bytes) floating point number to the underlying writer. Read more
Source§

fn write_f64<T>(&mut self, n: f64) -> Result<(), Error>
where T: ByteOrder,

Writes a IEEE754 double-precision (8 bytes) floating point number to the underlying writer. Read more
Source§

impl<W> WriteEndian<[f32]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[f32]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[f32]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[f64]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[f64]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[f64]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[i8]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[i8]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[i8]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[i16]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[i16]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[i16]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[i32]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[i32]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[i32]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[i64]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[i64]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[i64]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[i128]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[i128]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[i128]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[u8]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[u8]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[u8]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[u16]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[u16]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[u16]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[u32]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[u32]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[u32]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[u64]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[u64]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[u64]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<[u128]> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &[u128]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &[u128]) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<f32> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &f32) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &f32) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<f64> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &f64) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &f64) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<i8> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &i8) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &i8) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<i16> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &i16) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &i16) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<i32> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &i32) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &i32) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<i64> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &i64) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &i64) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<i128> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &i128) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &i128) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<u8> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &u8) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &u8) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<u16> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &u16) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &u16) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<u32> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &u32) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &u32) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<u64> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &u64) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &u64) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<W> WriteEndian<u128> for W
where W: Write,

Source§

fn write_as_little_endian(&mut self, value: &u128) -> Result<(), Error>

Write the byte value of the specified reference, converting it to little endianness
Source§

fn write_as_big_endian(&mut self, value: &u128) -> Result<(), Error>

Write the byte value of the specified reference, converting it to big endianness
Source§

fn write_as_native_endian(&mut self, value: &T) -> Result<(), Error>

Write the byte value of the specified reference, not converting it
Source§

impl<T> ZByteWriterTrait for T
where T: Write,

Source§

fn write_bytes(&mut self, buf: &[u8]) -> Result<usize, ZByteIoError>

Write some bytes into the sink returning number of bytes written or an error if something bad happened Read more
Source§

fn write_all_bytes(&mut self, buf: &[u8]) -> Result<(), ZByteIoError>

Write all bytes to the buffer or return an error if something occurred Read more
Source§

fn write_const_bytes<const N: usize>( &mut self, buf: &[u8; N], ) -> Result<(), ZByteIoError>

Write a fixed number of bytes and error out if we can’t write the bytes Read more
Source§

fn flush_bytes(&mut self) -> Result<(), ZByteIoError>

Ensure bytes are written to the sink. Read more
Source§

fn reserve_capacity(&mut self, _: usize) -> Result<(), ZByteIoError>

A hint to tell the implementation how big of a size we expect the image to be An implementation like in memory Vec can use this to reserve additional memory to prevent reallocation when encoding Read more