pub struct Ifd {Show 14 fields
pub at: u64,
pub end: u64,
pub kind: Kind,
pub name: String,
pub followed: bool,
pub entries: Vec<Entry>,
pub next: u64,
pub problem: Option<String>,
pub notes: Vec<String>,
pub parent: Option<(usize, usize)>,
pub roles: Vec<(Kind, bool)>,
pub last: BTreeMap<u16, usize>,
pub first_unknown: Option<usize>,
pub depth: u8,
}Expand description
One directory.
Fields§
§at: u64§end: u64End of the bytes it covers, clipped to the TIFF’s limit.
kind: Kind§name: String§followed: boolWhether the decode path reads this directory by any path.
entries: Vec<Entry>§next: u64Raw next-IFD pointer (relative to the TIFF’s base).
problem: Option<String>Why the directory could not be read whole.
notes: Vec<String>Remarks about its next pointer.
parent: Option<(usize, usize)>The IFD and entry whose pointer led here (None for the IFD chain).
roles: Vec<(Kind, bool)>Every kind of path that leads here, the first one first, each with whether the decode path follows it (a SubIFD that is also the EXIF IFD, an EXIF IFD that is also page 1).
last: BTreeMap<u16, usize>Index of the last entry with each tag (decoders keeping a map keep the last of duplicate tags).
first_unknown: Option<usize>Index of the first entry with a field type TIFF does not define.
depth: u8Pointer hops from the first directory of the walk (chained IFDs keep their predecessor’s depth), as decoders that cap recursion count.
Implementations§
Source§impl Ifd
impl Ifd
Sourcepub fn followed_as(&self, kind: Kind) -> bool
pub fn followed_as(&self, kind: Kind) -> bool
Whether the decode path follows a path that reaches it as kind.
Sourcepub fn holds_image(&self) -> bool
pub fn holds_image(&self) -> bool
Whether some path reaches it as an image directory (a page or a SubIFD).