pub trait Buildablewhere
Self: Sized,{
type Builder: Builder<Graph = Self>;
// Provided methods
fn new_builder() -> Self::Builder { ... }
fn new_with<F>(f: F) -> Self
where F: FnOnce(&mut Self::Builder) { ... }
}
Expand description
A graph with a default builder.
Required Associated Types§
Provided Methods§
sourcefn new_builder() -> Self::Builder
fn new_builder() -> Self::Builder
Create a new builder for this graph type.
sourcefn new_with<F>(f: F) -> Selfwhere
F: FnOnce(&mut Self::Builder),
fn new_with<F>(f: F) -> Selfwhere F: FnOnce(&mut Self::Builder),
Create a new graph by passing the builder to the callback f
.
Example
use rs_graph::{Buildable, Builder, LinkedListGraph};
use rs_graph::traits::FiniteGraph;
let g = LinkedListGraph::<usize>::new_with(|b| {
let u = b.add_node();
let v = b.add_node();
b.add_edge(u, v);
});
assert_eq!(g.num_nodes(), 2);
assert_eq!(g.num_edges(), 1);