pub struct DocumentStructure {
pub headings: Vec<Heading>,
pub sections: Vec<Section>,
pub hierarchy: HeadingHierarchy,
}Expand description
Complete document structure with headings and sections
Fields§
§headings: Vec<Heading>All headings found in the document, in order of appearance
sections: Vec<Section>All sections derived from headings
hierarchy: HeadingHierarchyHierarchical relationships between sections
Implementations§
Source§impl DocumentStructure
impl DocumentStructure
Sourcepub fn find_section_containing_offset(&self, offset: usize) -> Option<usize>
pub fn find_section_containing_offset(&self, offset: usize) -> Option<usize>
Find the section index that contains the given offset
Sourcepub fn get_heading_path(&self, section_idx: usize) -> Vec<String>
pub fn get_heading_path(&self, section_idx: usize) -> Vec<String>
Get the heading path from root to the given section
Returns a vector of heading texts in hierarchical order Example: [“Chapter 1”, “Section 1.1”, “Subsection 1.1.1”]
Sourcepub fn get_sections_at_level(&self, level: u8) -> Vec<&Section>
pub fn get_sections_at_level(&self, level: u8) -> Vec<&Section>
Get all sections at a specific hierarchical level
Sourcepub fn section_count(&self) -> usize
pub fn section_count(&self) -> usize
Get the total number of sections
Sourcepub fn has_structure(&self) -> bool
pub fn has_structure(&self) -> bool
Check if the document has any structure
Sourcepub fn get_statistics(&self) -> StructureStatistics
pub fn get_statistics(&self) -> StructureStatistics
Get statistics about the document structure
Trait Implementations§
Source§impl Clone for DocumentStructure
impl Clone for DocumentStructure
Source§fn clone(&self) -> DocumentStructure
fn clone(&self) -> DocumentStructure
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DocumentStructure
impl Debug for DocumentStructure
Source§impl Default for DocumentStructure
impl Default for DocumentStructure
Source§impl<'de> Deserialize<'de> for DocumentStructure
impl<'de> Deserialize<'de> for DocumentStructure
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DocumentStructure
impl RefUnwindSafe for DocumentStructure
impl Send for DocumentStructure
impl Sync for DocumentStructure
impl Unpin for DocumentStructure
impl UnsafeUnpin for DocumentStructure
impl UnwindSafe for DocumentStructure
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more