[][src]Struct rustc_data_structures::graph::dominators::Dominators

pub struct Dominators<N: Idx> {
    post_order_rank: IndexVec<N, usize>,
    immediate_dominators: IndexVec<N, Option<N>>,
}

Fields

post_order_rank: IndexVec<N, usize>immediate_dominators: IndexVec<N, Option<N>>

Implementations

impl<Node: Idx> Dominators<Node>[src]

pub fn is_reachable(&self, node: Node) -> bool[src]

pub fn immediate_dominator(&self, node: Node) -> Node[src]

pub fn dominators(&self, node: Node) -> Iter<'_, Node>

Notable traits for Iter<'dom, Node>

impl<'dom, Node: Idx> Iterator for Iter<'dom, Node> type Item = Node;
[src]

pub fn is_dominated_by(&self, node: Node, dom: Node) -> bool[src]

pub fn rank_partial_cmp(&self, lhs: Node, rhs: Node) -> Option<Ordering>[src]

Provide deterministic ordering of nodes such that, if any two nodes have a dominator relationship, the dominator will always precede the dominated. (The relative ordering of two unrelated nodes will also be consistent, but otherwise the order has no meaning.) This method cannot be used to determine if either Node dominates the other.

Trait Implementations

impl<N: Clone + Idx> Clone for Dominators<N>[src]

impl<N: Debug + Idx> Debug for Dominators<N>[src]

Auto Trait Implementations

impl<N> RefUnwindSafe for Dominators<N> where
    N: RefUnwindSafe

impl<N> Send for Dominators<N> where
    N: Send

impl<N> Sync for Dominators<N> where
    N: Sync

impl<N> Unpin for Dominators<N> where
    N: Unpin

impl<N> UnwindSafe for Dominators<N> where
    N: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.