pub struct SegmentView<'provider> {
pub structure: Arc<ParsedSegment>,
pub bytes: SegmentBytes<'provider>,
}Expand description
One segment’s parsed structure together with its raw bytes.
Fields§
§structure: Arc<ParsedSegment>The parsed header and tables.
bytes: SegmentBytes<'provider>The segment’s stored bytes.
Implementations§
Source§impl SegmentView<'_>
impl SegmentView<'_>
Sourcepub fn record_position(&self, record_number: u32) -> Result<usize>
pub fn record_position(&self, record_number: u32) -> Result<usize>
Resolves a record number to a position in Self::bytes.
Sourcepub fn read_bytes(
&self,
record_number: u32,
offset: usize,
length: usize,
) -> Result<&[u8]>
pub fn read_bytes( &self, record_number: u32, offset: usize, length: usize, ) -> Result<&[u8]>
Reads length bytes starting offset bytes into the record.
Sourcepub fn read_u8(&self, record_number: u32, offset: usize) -> Result<u8>
pub fn read_u8(&self, record_number: u32, offset: usize) -> Result<u8>
Reads one byte of the record.
Sourcepub fn read_u16(&self, record_number: u32, offset: usize) -> Result<u16>
pub fn read_u16(&self, record_number: u32, offset: usize) -> Result<u16>
Reads a big-endian unsigned 16-bit integer.
Sourcepub fn read_u32(&self, record_number: u32, offset: usize) -> Result<u32>
pub fn read_u32(&self, record_number: u32, offset: usize) -> Result<u32>
Reads a big-endian unsigned 32-bit integer.
Sourcepub fn read_u64(&self, record_number: u32, offset: usize) -> Result<u64>
pub fn read_u64(&self, record_number: u32, offset: usize) -> Result<u64>
Reads a big-endian unsigned 64-bit integer.
Sourcepub fn read_record_identifier(
&self,
record_number: u32,
raw_offset: usize,
identifier_index: usize,
) -> Result<RecordIdentifier>
pub fn read_record_identifier( &self, record_number: u32, raw_offset: usize, identifier_index: usize, ) -> Result<RecordIdentifier>
Reads the serialized record identifier stored at
raw_offset + identifier_index * 6 bytes into the record: a 16-bit
segment reference (0 means this segment, n > 0 means entry n - 1
of the segment reference table) followed by a 32-bit record number.
Trait Implementations§
Source§impl<'provider> Clone for SegmentView<'provider>
impl<'provider> Clone for SegmentView<'provider>
Source§fn clone(&self) -> SegmentView<'provider>
fn clone(&self) -> SegmentView<'provider>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'provider> Freeze for SegmentView<'provider>
impl<'provider> RefUnwindSafe for SegmentView<'provider>
impl<'provider> Send for SegmentView<'provider>
impl<'provider> Sync for SegmentView<'provider>
impl<'provider> Unpin for SegmentView<'provider>
impl<'provider> UnsafeUnpin for SegmentView<'provider>
impl<'provider> UnwindSafe for SegmentView<'provider>
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