Struct simple_bytes::BytesOwned
source · pub struct BytesOwned { /* private fields */ }
Expand description
A Vec wrapper that implements BytesWrite and BytesRead
Implementations§
source§impl BytesOwned
impl BytesOwned
sourcepub fn with_capacity(cap: usize) -> Self
pub fn with_capacity(cap: usize) -> Self
Creates a new Vec with the given capacity.
sourcepub fn resize(&mut self, new_len: usize)
pub fn resize(&mut self, new_len: usize)
Resizes the len to new_len
allocates some more space if needed.
sourcepub fn as_mut_vec(&mut self) -> &mut Vec<u8>
pub fn as_mut_vec(&mut self) -> &mut Vec<u8>
Returns the underlying Vec mutably.
Removing items can lead to panics while reading or writing.
Trait Implementations§
source§impl BytesRead for BytesOwned
impl BytesRead for BytesOwned
source§fn try_read(&mut self, len: usize) -> Result<&[u8], ReadError>
fn try_read(&mut self, len: usize) -> Result<&[u8], ReadError>
Try to read a given length of bytes. Read more
source§fn peek(&self, len: usize) -> Option<&[u8]>
fn peek(&self, len: usize) -> Option<&[u8]>
Tries to read a given length without updating
the internal position. Returns
None
if there are not enought
bytes remaining.source§fn try_read_u8(&mut self) -> Result<u8, ReadError>
fn try_read_u8(&mut self) -> Result<u8, ReadError>
Try to read
1
bytes in big-endian converting them into an
u8
.source§fn try_read_u16(&mut self) -> Result<u16, ReadError>
fn try_read_u16(&mut self) -> Result<u16, ReadError>
Try to read
2
bytes in big-endian converting them into an
u16
.source§fn read_u16(&mut self) -> u16
fn read_u16(&mut self) -> u16
Reads
2
bytes in big-endian converting them into an
u16
. Read moresource§fn try_read_u32(&mut self) -> Result<u32, ReadError>
fn try_read_u32(&mut self) -> Result<u32, ReadError>
Try to read
4
bytes in big-endian converting them into an
u32
.source§fn read_u32(&mut self) -> u32
fn read_u32(&mut self) -> u32
Reads
4
bytes in big-endian converting them into an
u32
. Read moresource§fn try_read_u64(&mut self) -> Result<u64, ReadError>
fn try_read_u64(&mut self) -> Result<u64, ReadError>
Try to read
8
bytes in big-endian converting them into an
u64
.source§fn read_u64(&mut self) -> u64
fn read_u64(&mut self) -> u64
Reads
8
bytes in big-endian converting them into an
u64
. Read moresource§fn try_read_u128(&mut self) -> Result<u128, ReadError>
fn try_read_u128(&mut self) -> Result<u128, ReadError>
Try to read
16
bytes in big-endian converting them into an
u128
.source§fn read_u128(&mut self) -> u128
fn read_u128(&mut self) -> u128
Reads
16
bytes in big-endian converting them into an
u128
. Read moresource§fn try_read_i8(&mut self) -> Result<i8, ReadError>
fn try_read_i8(&mut self) -> Result<i8, ReadError>
Try to read
1
bytes in big-endian converting them into an
i8
.source§fn try_read_i16(&mut self) -> Result<i16, ReadError>
fn try_read_i16(&mut self) -> Result<i16, ReadError>
Try to read
2
bytes in big-endian converting them into an
i16
.source§fn read_i16(&mut self) -> i16
fn read_i16(&mut self) -> i16
Reads
2
bytes in big-endian converting them into an
i16
. Read moresource§fn try_read_i32(&mut self) -> Result<i32, ReadError>
fn try_read_i32(&mut self) -> Result<i32, ReadError>
Try to read
4
bytes in big-endian converting them into an
i32
.source§fn read_i32(&mut self) -> i32
fn read_i32(&mut self) -> i32
Reads
4
bytes in big-endian converting them into an
i32
. Read moresource§fn try_read_i64(&mut self) -> Result<i64, ReadError>
fn try_read_i64(&mut self) -> Result<i64, ReadError>
Try to read
8
bytes in big-endian converting them into an
i64
.source§fn read_i64(&mut self) -> i64
fn read_i64(&mut self) -> i64
Reads
8
bytes in big-endian converting them into an
i64
. Read moresource§fn try_read_i128(&mut self) -> Result<i128, ReadError>
fn try_read_i128(&mut self) -> Result<i128, ReadError>
Try to read
16
bytes in big-endian converting them into an
i128
.source§fn read_i128(&mut self) -> i128
fn read_i128(&mut self) -> i128
Reads
16
bytes in big-endian converting them into an
i128
. Read moresource§fn try_read_f32(&mut self) -> Result<f32, ReadError>
fn try_read_f32(&mut self) -> Result<f32, ReadError>
Try to read
4
bytes in big-endian converting them into an
f32
.source§fn read_f32(&mut self) -> f32
fn read_f32(&mut self) -> f32
Reads
4
bytes in big-endian converting them into an
f32
. Read moresource§fn try_read_f64(&mut self) -> Result<f64, ReadError>
fn try_read_f64(&mut self) -> Result<f64, ReadError>
Try to read
8
bytes in big-endian converting them into an
f64
.source§fn read_f64(&mut self) -> f64
fn read_f64(&mut self) -> f64
Reads
8
bytes in big-endian converting them into an
f64
. Read moresource§fn try_read_le_u8(&mut self) -> Result<u8, ReadError>
fn try_read_le_u8(&mut self) -> Result<u8, ReadError>
Try to read
1
bytes in little-endian converting them into an
u8
.source§fn read_le_u8(&mut self) -> u8
fn read_le_u8(&mut self) -> u8
Reads
1
bytes in little-endian converting them into an
u8
. Read moresource§fn try_read_le_u16(&mut self) -> Result<u16, ReadError>
fn try_read_le_u16(&mut self) -> Result<u16, ReadError>
Try to read
2
bytes in little-endian converting them into an
u16
.source§fn read_le_u16(&mut self) -> u16
fn read_le_u16(&mut self) -> u16
Reads
2
bytes in little-endian converting them into an
u16
. Read moresource§fn try_read_le_u32(&mut self) -> Result<u32, ReadError>
fn try_read_le_u32(&mut self) -> Result<u32, ReadError>
Try to read
4
bytes in little-endian converting them into an
u32
.source§fn read_le_u32(&mut self) -> u32
fn read_le_u32(&mut self) -> u32
Reads
4
bytes in little-endian converting them into an
u32
. Read moresource§fn try_read_le_u64(&mut self) -> Result<u64, ReadError>
fn try_read_le_u64(&mut self) -> Result<u64, ReadError>
Try to read
8
bytes in little-endian converting them into an
u64
.source§fn read_le_u64(&mut self) -> u64
fn read_le_u64(&mut self) -> u64
Reads
8
bytes in little-endian converting them into an
u64
. Read moresource§fn try_read_le_u128(&mut self) -> Result<u128, ReadError>
fn try_read_le_u128(&mut self) -> Result<u128, ReadError>
Try to read
16
bytes in little-endian converting them into an
u128
.source§fn read_le_u128(&mut self) -> u128
fn read_le_u128(&mut self) -> u128
Reads
16
bytes in little-endian converting them into an
u128
. Read moresource§fn try_read_le_i8(&mut self) -> Result<i8, ReadError>
fn try_read_le_i8(&mut self) -> Result<i8, ReadError>
Try to read
1
bytes in little-endian converting them into an
i8
.source§fn read_le_i8(&mut self) -> i8
fn read_le_i8(&mut self) -> i8
Reads
1
bytes in little-endian converting them into an
i8
. Read moresource§fn try_read_le_i16(&mut self) -> Result<i16, ReadError>
fn try_read_le_i16(&mut self) -> Result<i16, ReadError>
Try to read
2
bytes in little-endian converting them into an
i16
.source§fn read_le_i16(&mut self) -> i16
fn read_le_i16(&mut self) -> i16
Reads
2
bytes in little-endian converting them into an
i16
. Read moresource§fn try_read_le_i32(&mut self) -> Result<i32, ReadError>
fn try_read_le_i32(&mut self) -> Result<i32, ReadError>
Try to read
4
bytes in little-endian converting them into an
i32
.source§fn read_le_i32(&mut self) -> i32
fn read_le_i32(&mut self) -> i32
Reads
4
bytes in little-endian converting them into an
i32
. Read moresource§fn try_read_le_i64(&mut self) -> Result<i64, ReadError>
fn try_read_le_i64(&mut self) -> Result<i64, ReadError>
Try to read
8
bytes in little-endian converting them into an
i64
.source§fn read_le_i64(&mut self) -> i64
fn read_le_i64(&mut self) -> i64
Reads
8
bytes in little-endian converting them into an
i64
. Read moresource§fn try_read_le_i128(&mut self) -> Result<i128, ReadError>
fn try_read_le_i128(&mut self) -> Result<i128, ReadError>
Try to read
16
bytes in little-endian converting them into an
i128
.source§fn read_le_i128(&mut self) -> i128
fn read_le_i128(&mut self) -> i128
Reads
16
bytes in little-endian converting them into an
i128
. Read moresource§fn try_read_le_f32(&mut self) -> Result<f32, ReadError>
fn try_read_le_f32(&mut self) -> Result<f32, ReadError>
Try to read
4
bytes in little-endian converting them into an
f32
.source§fn read_le_f32(&mut self) -> f32
fn read_le_f32(&mut self) -> f32
Reads
4
bytes in little-endian converting them into an
f32
. Read moresource§fn try_read_le_f64(&mut self) -> Result<f64, ReadError>
fn try_read_le_f64(&mut self) -> Result<f64, ReadError>
Try to read
8
bytes in little-endian converting them into an
f64
.source§fn read_le_f64(&mut self) -> f64
fn read_le_f64(&mut self) -> f64
Reads
8
bytes in little-endian converting them into an
f64
. Read moresource§impl BytesSeek for BytesOwned
impl BytesSeek for BytesOwned
source§impl BytesWrite for BytesOwned
impl BytesWrite for BytesOwned
source§fn remaining_mut(&mut self) -> &mut [u8] ⓘ
fn remaining_mut(&mut self) -> &mut [u8] ⓘ
Returns the remaining mutable slice.
If an empty slice is returned, this does not mean you can’t write anymore.
source§fn try_write(&mut self, slice: impl AsRef<[u8]>) -> Result<(), WriteError>
fn try_write(&mut self, slice: impl AsRef<[u8]>) -> Result<(), WriteError>
Writes a slice. Allocates more space if the slice is
bigger than the Vec
.
source§fn as_bytes(&self) -> Bytes<'_> ⓘ
fn as_bytes(&self) -> Bytes<'_> ⓘ
Returns the entire slice as a bytes struct
setting the position of the new Bytes to
0
.source§fn try_write_u8(&mut self, num: u8) -> Result<(), WriteError>
fn try_write_u8(&mut self, num: u8) -> Result<(), WriteError>
Try to write
u8
in big-endian.`
source§fn try_write_u16(&mut self, num: u16) -> Result<(), WriteError>
fn try_write_u16(&mut self, num: u16) -> Result<(), WriteError>
Try to write
u16
in big-endian.`
source§fn try_write_u32(&mut self, num: u32) -> Result<(), WriteError>
fn try_write_u32(&mut self, num: u32) -> Result<(), WriteError>
Try to write
u32
in big-endian.`
source§fn try_write_u64(&mut self, num: u64) -> Result<(), WriteError>
fn try_write_u64(&mut self, num: u64) -> Result<(), WriteError>
Try to write
u64
in big-endian.`
source§fn try_write_u128(&mut self, num: u128) -> Result<(), WriteError>
fn try_write_u128(&mut self, num: u128) -> Result<(), WriteError>
Try to write
u128
in big-endian.`
source§fn write_u128(&mut self, num: u128)
fn write_u128(&mut self, num: u128)
Writes an
u128
in big-endian. Read moresource§fn try_write_i8(&mut self, num: i8) -> Result<(), WriteError>
fn try_write_i8(&mut self, num: i8) -> Result<(), WriteError>
Try to write
i8
in big-endian.`
source§fn try_write_i16(&mut self, num: i16) -> Result<(), WriteError>
fn try_write_i16(&mut self, num: i16) -> Result<(), WriteError>
Try to write
i16
in big-endian.`
source§fn try_write_i32(&mut self, num: i32) -> Result<(), WriteError>
fn try_write_i32(&mut self, num: i32) -> Result<(), WriteError>
Try to write
i32
in big-endian.`
source§fn try_write_i64(&mut self, num: i64) -> Result<(), WriteError>
fn try_write_i64(&mut self, num: i64) -> Result<(), WriteError>
Try to write
i64
in big-endian.`
source§fn try_write_i128(&mut self, num: i128) -> Result<(), WriteError>
fn try_write_i128(&mut self, num: i128) -> Result<(), WriteError>
Try to write
i128
in big-endian.`
source§fn write_i128(&mut self, num: i128)
fn write_i128(&mut self, num: i128)
Writes an
i128
in big-endian. Read moresource§fn try_write_f32(&mut self, num: f32) -> Result<(), WriteError>
fn try_write_f32(&mut self, num: f32) -> Result<(), WriteError>
Try to write
f32
in big-endian.`
source§fn try_write_f64(&mut self, num: f64) -> Result<(), WriteError>
fn try_write_f64(&mut self, num: f64) -> Result<(), WriteError>
Try to write
f64
in big-endian.`
source§fn try_write_le_u8(&mut self, num: u8) -> Result<(), WriteError>
fn try_write_le_u8(&mut self, num: u8) -> Result<(), WriteError>
Try to write
u8
in little-endian.`
source§fn write_le_u8(&mut self, num: u8)
fn write_le_u8(&mut self, num: u8)
Writes an
u8
in little-endian. Read moresource§fn try_write_le_u16(&mut self, num: u16) -> Result<(), WriteError>
fn try_write_le_u16(&mut self, num: u16) -> Result<(), WriteError>
Try to write
u16
in little-endian.`
source§fn write_le_u16(&mut self, num: u16)
fn write_le_u16(&mut self, num: u16)
Writes an
u16
in little-endian. Read moresource§fn try_write_le_u32(&mut self, num: u32) -> Result<(), WriteError>
fn try_write_le_u32(&mut self, num: u32) -> Result<(), WriteError>
Try to write
u32
in little-endian.`
source§fn write_le_u32(&mut self, num: u32)
fn write_le_u32(&mut self, num: u32)
Writes an
u32
in little-endian. Read moresource§fn try_write_le_u64(&mut self, num: u64) -> Result<(), WriteError>
fn try_write_le_u64(&mut self, num: u64) -> Result<(), WriteError>
Try to write
u64
in little-endian.`
source§fn write_le_u64(&mut self, num: u64)
fn write_le_u64(&mut self, num: u64)
Writes an
u64
in little-endian. Read moresource§fn try_write_le_u128(&mut self, num: u128) -> Result<(), WriteError>
fn try_write_le_u128(&mut self, num: u128) -> Result<(), WriteError>
Try to write
u128
in little-endian.`
source§fn write_le_u128(&mut self, num: u128)
fn write_le_u128(&mut self, num: u128)
Writes an
u128
in little-endian. Read moresource§fn try_write_le_i8(&mut self, num: i8) -> Result<(), WriteError>
fn try_write_le_i8(&mut self, num: i8) -> Result<(), WriteError>
Try to write
i8
in little-endian.`
source§fn write_le_i8(&mut self, num: i8)
fn write_le_i8(&mut self, num: i8)
Writes an
i8
in little-endian. Read moresource§fn try_write_le_i16(&mut self, num: i16) -> Result<(), WriteError>
fn try_write_le_i16(&mut self, num: i16) -> Result<(), WriteError>
Try to write
i16
in little-endian.`
source§fn write_le_i16(&mut self, num: i16)
fn write_le_i16(&mut self, num: i16)
Writes an
i16
in little-endian. Read moresource§fn try_write_le_i32(&mut self, num: i32) -> Result<(), WriteError>
fn try_write_le_i32(&mut self, num: i32) -> Result<(), WriteError>
Try to write
i32
in little-endian.`
source§fn write_le_i32(&mut self, num: i32)
fn write_le_i32(&mut self, num: i32)
Writes an
i32
in little-endian. Read moresource§fn try_write_le_i64(&mut self, num: i64) -> Result<(), WriteError>
fn try_write_le_i64(&mut self, num: i64) -> Result<(), WriteError>
Try to write
i64
in little-endian.`
source§fn write_le_i64(&mut self, num: i64)
fn write_le_i64(&mut self, num: i64)
Writes an
i64
in little-endian. Read moresource§fn try_write_le_i128(&mut self, num: i128) -> Result<(), WriteError>
fn try_write_le_i128(&mut self, num: i128) -> Result<(), WriteError>
Try to write
i128
in little-endian.`
source§fn write_le_i128(&mut self, num: i128)
fn write_le_i128(&mut self, num: i128)
Writes an
i128
in little-endian. Read moresource§fn try_write_le_f32(&mut self, num: f32) -> Result<(), WriteError>
fn try_write_le_f32(&mut self, num: f32) -> Result<(), WriteError>
Try to write
f32
in little-endian.`
source§fn write_le_f32(&mut self, num: f32)
fn write_le_f32(&mut self, num: f32)
Writes an
f32
in little-endian. Read moresource§fn try_write_le_f64(&mut self, num: f64) -> Result<(), WriteError>
fn try_write_le_f64(&mut self, num: f64) -> Result<(), WriteError>
Try to write
f64
in little-endian.`
source§fn write_le_f64(&mut self, num: f64)
fn write_le_f64(&mut self, num: f64)
Writes an
f64
in little-endian. Read moresource§impl Clone for BytesOwned
impl Clone for BytesOwned
source§impl Debug for BytesOwned
impl Debug for BytesOwned
source§impl From<BytesOwned> for Vec<u8>
impl From<BytesOwned> for Vec<u8>
source§fn from(b: BytesOwned) -> Self
fn from(b: BytesOwned) -> Self
Converts to this type from the input type.
source§impl Hash for BytesOwned
impl Hash for BytesOwned
source§impl PartialEq<BytesOwned> for BytesOwned
impl PartialEq<BytesOwned> for BytesOwned
source§fn eq(&self, other: &BytesOwned) -> bool
fn eq(&self, other: &BytesOwned) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Read for BytesOwned
impl Read for BytesOwned
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read
, except that it reads into a slice of buffers. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into
buf
. Read more1.0.0 · source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to
buf
. Read more1.6.0 · source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill
buf
. Read moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Read the exact number of bytes required to fill
cursor
. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read moresource§impl Seek for BytesOwned
impl Seek for BytesOwned
source§fn seek(&mut self, pos: SeekFrom) -> Result<u64>
fn seek(&mut self, pos: SeekFrom) -> Result<u64>
Seek to an offset, in bytes, in a stream. Read more
1.55.0 · source§fn rewind(&mut self) -> Result<(), Error>
fn rewind(&mut self) -> Result<(), Error>
Rewind to the beginning of a stream. Read more
source§impl Write for BytesOwned
impl Write for BytesOwned
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
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>
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
impl Eq for BytesOwned
impl StructuralEq for BytesOwned
impl StructuralPartialEq for BytesOwned
Auto Trait Implementations§
impl RefUnwindSafe for BytesOwned
impl Send for BytesOwned
impl Sync for BytesOwned
impl Unpin for BytesOwned
impl UnwindSafe for BytesOwned
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