[−][src]Trait positioned_io_preview::Size
Trait to get the size in bytes of an I/O object.
Implementing this for a types with ReadAt
or WriteAt
makes it easier
for users to predict whether they will read past end-of-file. However, it
may not be possible to implement for certain readers or writers that have
unknown size.
Examples
use std::fs::File; use positioned_io::Size; let file = File::open("tests/pi.txt")?; let size = file.size()?; assert_eq!(size, Some(1000002)); // some special files do not have a known size let file = File::open("/dev/stdin")?; let size = file.size()?; assert_eq!(size, None);
Required methods
fn size(&self) -> Result<Option<u64>>
Get the size of this object, in bytes.
This function may return Ok(None)
if the size is unknown, for example
for pipes.