Skip to content

Commit 092f4ed

Browse files
committed
More docs for std::io::Seek
1 parent ff664f3 commit 092f4ed

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

src/libstd/io/mod.rs

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -692,17 +692,38 @@ pub trait Write {
692692
}
693693
}
694694

695-
/// An object implementing `Seek` internally has some form of cursor which can
696-
/// be moved within a stream of bytes.
695+
/// The `Seek` trait provides a cursor which can be moved within a stream of
696+
/// bytes.
697697
///
698698
/// The stream typically has a fixed size, allowing seeking relative to either
699699
/// end or the current offset.
700+
///
701+
/// # Examples
702+
///
703+
/// [`File`][file]s implement `Seek`:
704+
///
705+
/// [file]: ../std/fs/struct.File.html
706+
///
707+
/// ```
708+
/// use std::io;
709+
/// use std::fs::File;
710+
/// use std::io::Seek;
711+
/// use std::io::SeekFrom;
712+
///
713+
/// # fn foo() -> io::Result<()> {
714+
/// let mut f = try!(File::open("foo.txt"));
715+
///
716+
/// // move the cursor 42 bytes from the start of the file
717+
/// f.seek(SeekFrom::Start(42)).unwrap();
718+
/// # Ok(())
719+
/// # }
720+
/// ```
700721
#[stable(feature = "rust1", since = "1.0.0")]
701722
pub trait Seek {
702-
/// Seek to an offset, in bytes, in a stream
723+
/// Seek to an offset, in bytes, in a stream.
703724
///
704-
/// A seek beyond the end of a stream is allowed, but seeking before offset
705-
/// 0 is an error.
725+
/// A seek beyond the end of a stream is allowed, but implementation
726+
/// defined.
706727
///
707728
/// The behavior when seeking past the end of the stream is implementation
708729
/// defined.
@@ -712,7 +733,7 @@ pub trait Seek {
712733
///
713734
/// # Errors
714735
///
715-
/// Seeking to a negative offset is considered an error
736+
/// Seeking to a negative offset is considered an error.
716737
#[stable(feature = "rust1", since = "1.0.0")]
717738
fn seek(&mut self, pos: SeekFrom) -> Result<u64>;
718739
}

0 commit comments

Comments
 (0)