use super::*;
pub trait NamedGraph<'i> {
type NameRef;
type NameMut;
fn get_node_name(&'i self, node: NodeID) -> Option<Self::NameRef>;
fn mut_node_name(&'i mut self, node: NodeID) -> Option<Self::NameMut>;
fn set_node_name(&'i mut self, node: NodeID, name: &str);
fn get_edge_name<Q: Into<EdgeQuery>>(&'i self, edge: Q) -> Option<Self::NameRef>;
fn mut_edge_name<Q: Into<EdgeQuery>>(&'i mut self, edge: Q) -> Option<Self::NameMut>;
fn set_edge_name<Q: Into<EdgeQuery>>(&'i mut self, edge: Q, name: &str);
}