pub struct ReqTree { /* private fields */ }Implementations§
Source§impl ReqTree
impl ReqTree
pub fn new() -> Self
Sourcepub fn insert(&mut self, req: Requirement)
pub fn insert(&mut self, req: Requirement)
Insert a requirement
pub fn get(&self, name: &str) -> Option<&Requirement>
Sourcepub fn dependents(&self, name: &str) -> Option<&HashSet<String>>
pub fn dependents(&self, name: &str) -> Option<&HashSet<String>>
Retrieve direct dependents as names
Sourcepub fn all_prereqs(&self, name: &str) -> HashSet<String>
pub fn all_prereqs(&self, name: &str) -> HashSet<String>
All transitive prereqs via BFS
Sourcepub fn all_dependents(&self, name: &str) -> HashSet<String>
pub fn all_dependents(&self, name: &str) -> HashSet<String>
All transitive dependents via BFS
Sourcepub fn find_cycle(&self) -> Option<Vec<String>>
pub fn find_cycle(&self) -> Option<Vec<String>>
Check for any cycles (shoudl be invalid for deep anyways)
Auto Trait Implementations§
impl Freeze for ReqTree
impl RefUnwindSafe for ReqTree
impl Send for ReqTree
impl Sync for ReqTree
impl Unpin for ReqTree
impl UnsafeUnpin for ReqTree
impl UnwindSafe for ReqTree
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