Skip to main content

QuerySpec

Trait QuerySpec 

Source
pub trait QuerySpec<'query> {
    // Required methods
    fn states(&self) -> &[Transition<'query>];
    fn queries(&self) -> &[QuerySection<'query>];
    fn exit_at_section_end(&self) -> Option<QuerySectionId>;

    // Provided methods
    fn requires_text_content(&self) -> bool { ... }
    fn get_transition(&self, state: TransitionId) -> &Transition<'query> { ... }
    fn get_section_selection_kind(
        &self,
        section_index: QuerySectionId,
    ) -> SelectionKind { ... }
    fn get_selection(
        &self,
        section_index: QuerySectionId,
    ) -> &QuerySection<'query> { ... }
    fn is_descendant(&self, state: TransitionId) -> bool { ... }
    fn is_save_point(&self, position: &Position) -> bool { ... }
    fn is_last_save_point(&self, position: &Position) -> bool { ... }
    fn children(
        &'query self,
        position: &Position,
    ) -> Option<impl Iterator<Item = Position>>
       where Self: Sized { ... }
}

Required Methods§

Source

fn states(&self) -> &[Transition<'query>]

Source

fn queries(&self) -> &[QuerySection<'query>]

Source

fn exit_at_section_end(&self) -> Option<QuerySectionId>

Provided Methods§

Source

fn requires_text_content(&self) -> bool

Source

fn get_transition(&self, state: TransitionId) -> &Transition<'query>

Source

fn get_section_selection_kind( &self, section_index: QuerySectionId, ) -> SelectionKind

Source

fn get_selection(&self, section_index: QuerySectionId) -> &QuerySection<'query>

Source

fn is_descendant(&self, state: TransitionId) -> bool

Source

fn is_save_point(&self, position: &Position) -> bool

Source

fn is_last_save_point(&self, position: &Position) -> bool

Source

fn children( &'query self, position: &Position, ) -> Option<impl Iterator<Item = Position>>
where Self: Sized,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'query, const N_STATES: usize, const N_SECTIONS: usize> QuerySpec<'query> for StaticQuery<'query, N_STATES, N_SECTIONS>

Source§

impl<'query> QuerySpec<'query> for Query<'query>