Struct simple_bytes::Offset
source · [−]pub struct Offset<T> { /* private fields */ }
Expand description
A struct which holds a specific offset for any BytesRead, BytesWrite or BytesSeek implementation.
Example
let mut offset = Offset::new(BytesOwned::from(vec![1, 2, 3, 4]), 2);
assert_eq!(offset.as_slice(), &[3, 4]);
assert_eq!(offset.remaining(), &[3, 4]);
offset.write_u8(5);
assert_eq!(offset.as_slice(), &[5, 4]);
assert_eq!(offset.remaining(), &[4]);
offset.seek(2);
offset.write_u8(5);
assert_eq!(offset.as_slice(), &[5, 4, 5]);
Implementations
Creates a new Cursor.
May panic if the offset is bigger than the inner len. Depending on inner.
Updates the offset.
Maybe panic if there aren’t enough bytes left.
Returns the inner value as a mutable reference. Shrinking the inner len or updating the position may lead to panics when reading or writing.
Returns the inner value, discarding the offset.
Trait Implementations
Returns the entire slice.
Returns all remaining bytes.
Reads a given length of bytes. Read more
Tries to read a given length without updating
the internal position. Returns None
if there are not enought
bytes remaining. Read more
Reads
2
bytes in big-endian converting them into an u16
. Read more
Reads
4
bytes in big-endian converting them into an u32
. Read more
Reads
8
bytes in big-endian converting them into an u64
. Read more
Reads
16
bytes in big-endian converting them into an u128
. Read more
Reads
2
bytes in big-endian converting them into an i16
. Read more
Reads
4
bytes in big-endian converting them into an i32
. Read more
Reads
8
bytes in big-endian converting them into an i64
. Read more
Reads
16
bytes in big-endian converting them into an i128
. Read more
Reads
4
bytes in big-endian converting them into an f32
. Read more
Reads
8
bytes in big-endian converting them into an f64
. Read more
Reads
1
bytes in little-endian converting them into an u8
. Read more
Reads
2
bytes in little-endian converting them into an u16
. Read more
Reads
4
bytes in little-endian converting them into an u32
. Read more
Reads
8
bytes in little-endian converting them into an u64
. Read more
Reads
16
bytes in little-endian converting them into an u128
. Read more
Reads
1
bytes in little-endian converting them into an i8
. Read more
Reads
2
bytes in little-endian converting them into an i16
. Read more
Reads
4
bytes in little-endian converting them into an i32
. Read more
Reads
8
bytes in little-endian converting them into an i64
. Read more
Reads
16
bytes in little-endian converting them into an i128
. Read more
Reads
4
bytes in little-endian converting them into an f32
. Read more
Reads
8
bytes in little-endian converting them into an f64
. Read more
Returns the entire slice mutably.
Returns the entire slice as a bytes struct
setting the position of the new Bytes to 0
. Read more
Returns the remaining bytes mutably.
Writes an u128
in big-endian. Read more
Writes an i128
in big-endian. Read more
Writes an u8
in little-endian. Read more
Writes an u16
in little-endian. Read more
Writes an u32
in little-endian. Read more
Writes an u64
in little-endian. Read more
Writes an u128
in little-endian. Read more
Writes an i8
in little-endian. Read more
Writes an i16
in little-endian. Read more
Writes an i32
in little-endian. Read more
Writes an i64
in little-endian. Read more
Writes an i128
in little-endian. Read more
Writes an f32
in little-endian. Read more
Writes an f64
in little-endian. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for Offset<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Offset<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more