Trait Revset

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

Required Methods§

Source

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

Iterate in topological order with children before parents.

Source

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

Iterates commit/change id pairs in topological order.

Source

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

Source

fn is_empty(&self) -> bool

Returns true if iterator will emit no commit nor error.

Source

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

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<RevsetContainingFn<'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§