Struct stemflow::ResPool [] [src]

pub struct ResPool<A> where A: Access {
    // some fields omitted
}

Methods

impl<A> ResPool<A> where A: Access

fn new() -> ResPool<A>

fn new_dom(&mut self, name: String, acl: Vec<A>) -> Arc<Domain<A>>

Create a domain if it doesn't have a twin or return an existing equivalent domain (can have a different name).

fn contains_dom(&self, dom: &Arc<Domain<A>>) -> bool

fn insert_dom(&mut self, dom: Arc<Domain<A>>) -> Arc<Domain<A>>

Record a domain if it doesn't have a twin or return an existing equivalent domain (can have a different name).

fn allow(&mut self, acl: &Vec<A>) -> Option<Arc<Domain<A>>>

Get (or create) the tighter domain with all this ACL

Trait Implementations

impl<'a, A> Labeller<'a, Node<A>, Edge<A>> for ResPool<A> where A: Access

fn graph_id(&'a self) -> Id<'a>

fn node_id(&'a self, node: &Node<A>) -> Id<'a>

fn node_label(&'a self, node: &Node<A>) -> LabelText<'a>

fn edge_label(&'a self, edge: &Edge<A>) -> LabelText<'a>

fn node_shape(&'a self, _node: &N) -> Option<LabelText<'a>>

fn node_style(&'a self, _n: &N) -> Style

fn edge_style(&'a self, _e: &E) -> Style

impl<'a, A> GraphWalk<'a, Node<A>, Edge<A>> for ResPool<A> where A: Access

fn nodes(&self) -> Nodes<'a, Node<A>>

fn edges(&'a self) -> Edges<'a, Edge<A>>

fn source(&self, edge: &Edge<A>) -> Node<A>

fn target(&self, edge: &Edge<A>) -> Node<A>