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