pub trait WithVertex: Sized + for<'a> VertexTypes<'a, Self> {
type Vertex: 'static + GraphItem;
type OptionVertex: 'static + GraphItem + Optional<Vertex<Self>> + From<Option<Vertex<Self>>>;
fn vertex_none() -> OptionVertex<Self> { ... }
fn vertex_some(v: Vertex<Self>) -> OptionVertex<Self> { ... }
fn vertex_prop<P, T>(&self, value: T) -> P
where
P: VertexPropMutNew<Self, T>,
T: Clone,
{ ... }
fn vertex_prop_from_fn<P, T, F>(&self, fun: F) -> P
where
Self: VertexList,
P: VertexPropMutNew<Self, T>,
F: FnMut(Vertex<Self>) -> T,
T: Default + Clone,
{ ... }
}