Skip to main content

Graph

Struct Graph 

Source
pub struct Graph {
    pub nodes: HashMap<String, Node>,
    pub edges: Vec<Edge>,
    pub forward: HashMap<String, Vec<usize>>,
    pub reverse: HashMap<String, Vec<usize>>,
    pub child_graphs: Vec<String>,
    pub interface: Vec<String>,
    pub target_properties: HashMap<String, TargetProperties>,
}

Fields§

§nodes: HashMap<String, Node>§edges: Vec<Edge>§forward: HashMap<String, Vec<usize>>§reverse: HashMap<String, Vec<usize>>§child_graphs: Vec<String>§interface: Vec<String>

Resolved interface nodes from config (empty = open graph).

§target_properties: HashMap<String, TargetProperties>

Filesystem properties of edge targets, keyed by node identity (fragment-stripped).

Implementations§

Source§

impl Graph

Source

pub fn new() -> Self

Source

pub fn add_node(&mut self, node: Node)

Source

pub fn is_file_node(&self, path: &str) -> bool

Returns true for File nodes (excludes External and Directory). Used by structural analyses that operate only on declared file-backed nodes.

Source

pub fn add_edge(&mut self, edge: Edge)

Source

pub fn target_props(&self, target: &str) -> Option<&TargetProperties>

Get filesystem properties for an edge target.

Source

pub fn filter_by_parsers(&self, parsers: &[String]) -> Graph

Create a new graph containing only edges from the specified parsers. All nodes are preserved. Adjacency maps are rebuilt for the filtered edge set.

Trait Implementations§

Source§

impl Debug for Graph

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Graph

Source§

fn default() -> Graph

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Graph

§

impl RefUnwindSafe for Graph

§

impl Send for Graph

§

impl Sync for Graph

§

impl Unpin for Graph

§

impl UnsafeUnpin for Graph

§

impl UnwindSafe for Graph

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.