Trait jj_lib::revset::Revset

source ·
pub trait Revset: Debug {
    // Required methods
    fn iter<'a>(&self) -> Box<dyn Iterator<Item = CommitId> + 'a>
       where Self: 'a;
    fn commit_change_ids<'a>(
        &self,
    ) -> Box<dyn Iterator<Item = (CommitId, ChangeId)> + 'a>
       where Self: 'a;
    fn iter_graph<'a>(
        &self,
    ) -> Box<dyn Iterator<Item = (CommitId, Vec<GraphEdge<CommitId>>)> + 'a>
       where Self: 'a;
    fn is_empty(&self) -> bool;
    fn count_estimate(&self) -> (usize, Option<usize>);
    fn containing_fn<'a>(&self) -> Box<dyn Fn(&CommitId) -> bool + 'a>
       where Self: 'a;
}

Required Methods§

source

fn iter<'a>(&self) -> Box<dyn Iterator<Item = CommitId> + 'a>
where Self: 'a,

Iterate in topological order with children before parents.

source

fn commit_change_ids<'a>( &self, ) -> Box<dyn Iterator<Item = (CommitId, ChangeId)> + 'a>
where Self: 'a,

Iterates commit/change id pairs in topological order.

source

fn iter_graph<'a>( &self, ) -> Box<dyn Iterator<Item = (CommitId, Vec<GraphEdge<CommitId>>)> + 'a>
where Self: 'a,

source

fn is_empty(&self) -> bool

source

fn count_estimate(&self) -> (usize, Option<usize>)

Inclusive lower bound and, optionally, inclusive upper bound of how many commits are in the revset. The implementation can use its discretion as to how much effort should be put into the estimation, and how accurate the resulting estimate should be.

source

fn containing_fn<'a>(&self) -> Box<dyn Fn(&CommitId) -> bool + 'a>
where Self: 'a,

Returns a closure that checks if a commit is contained within the revset.

The implementation may construct and maintain any necessary internal context to optimize the performance of the check.

Implementors§