1
Fork 0

Add Seek::seek_relative

This commit is contained in:
Jonathan Behrens 2023-10-14 16:20:32 -07:00
parent ee8c9d3c34
commit d6337e6568
2 changed files with 36 additions and 0 deletions

View file

@ -1957,6 +1957,32 @@ pub trait Seek {
fn stream_position(&mut self) -> Result<u64> {
self.seek(SeekFrom::Current(0))
}
/// Seeks relative to the current position.
///
/// This is equivalent to `self.seek(SeekFrom::Current(offset))`.
///
/// # Example
///
/// ```no_run
/// #![feature(seek_seek_relative)]
/// use std::{
/// io::{self, Seek},
/// fs::File,
/// };
///
/// fn main() -> io::Result<()> {
/// let mut f = File::open("foo.txt")?;
/// f.seek_relative(10)?;
/// assert_eq!(f.stream_position()?, 10);
/// Ok(())
/// }
/// ```
#[unstable(feature = "seek_seek_relative", issue = "none")]
fn seek_relative(&mut self, offset: i64) -> Result<()> {
self.seek(SeekFrom::Current(offset))?;
Ok(())
}
}
/// Enumeration of possible methods to seek within an I/O object.