pub trait NodeStore {
    // Required methods
    fn name_by_id(&self, nid: NodeId) -> Option<&str>;
    fn id_by_name<T>(&self, s: T) -> Option<NodeId>
       where T: AsRef<str>;
    fn node_opt(&self, nid: NodeId) -> Option<&NodeData>;
    fn visit_nodes<F>(&self, f: F)
       where F: FnMut(&NodeData);

    // Provided method
    fn node(&self, nid: NodeId) -> &NodeData { ... }
}

Required Methods§

source

fn name_by_id(&self, nid: NodeId) -> Option<&str>

source

fn id_by_name<T>(&self, s: T) -> Option<NodeId>where T: AsRef<str>,

source

fn node_opt(&self, nid: NodeId) -> Option<&NodeData>

source

fn visit_nodes<F>(&self, f: F)where F: FnMut(&NodeData),

Provided Methods§

source

fn node(&self, nid: NodeId) -> &NodeData

Implementations on Foreign Types§

source§

impl<U> NodeStore for Box<U, Global>where U: NodeStore + ?Sized,

source§

fn name_by_id(&self, nid: NodeId) -> Option<&str>

source§

fn id_by_name<T>(&self, s: T) -> Option<NodeId>where T: AsRef<str>,

source§

fn node_opt(&self, nid: NodeId) -> Option<&NodeData>

source§

fn node(&self, nid: NodeId) -> &NodeData

source§

fn visit_nodes<F>(&self, f: F)where F: FnMut(&NodeData),

source§

impl<U> NodeStore for Rc<U, Global>where U: NodeStore + ?Sized,

source§

fn name_by_id(&self, nid: NodeId) -> Option<&str>

source§

fn id_by_name<T>(&self, s: T) -> Option<NodeId>where T: AsRef<str>,

source§

fn node_opt(&self, nid: NodeId) -> Option<&NodeData>

source§

fn node(&self, nid: NodeId) -> &NodeData

source§

fn visit_nodes<F>(&self, f: F)where F: FnMut(&NodeData),

source§

impl<'a, U> NodeStore for &'a mut Uwhere U: 'a + NodeStore + ?Sized,

source§

fn name_by_id(&self, nid: NodeId) -> Option<&str>

source§

fn id_by_name<T>(&self, s: T) -> Option<NodeId>where T: AsRef<str>,

source§

fn node_opt(&self, nid: NodeId) -> Option<&NodeData>

source§

fn node(&self, nid: NodeId) -> &NodeData

source§

fn visit_nodes<F>(&self, f: F)where F: FnMut(&NodeData),

source§

impl<'a, U> NodeStore for &'a Uwhere U: 'a + NodeStore + ?Sized,

source§

fn name_by_id(&self, nid: NodeId) -> Option<&str>

source§

fn id_by_name<T>(&self, s: T) -> Option<NodeId>where T: AsRef<str>,

source§

fn node_opt(&self, nid: NodeId) -> Option<&NodeData>

source§

fn node(&self, nid: NodeId) -> &NodeData

source§

fn visit_nodes<F>(&self, f: F)where F: FnMut(&NodeData),

source§

impl<U> NodeStore for Arc<U, Global>where U: NodeStore + ?Sized,

source§

fn name_by_id(&self, nid: NodeId) -> Option<&str>

source§

fn id_by_name<T>(&self, s: T) -> Option<NodeId>where T: AsRef<str>,

source§

fn node_opt(&self, nid: NodeId) -> Option<&NodeData>

source§

fn node(&self, nid: NodeId) -> &NodeData

source§

fn visit_nodes<F>(&self, f: F)where F: FnMut(&NodeData),

Implementors§