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§

source

type Builder: Builder<Graph = Self>

Provided Methods§

source

fn new_builder() -> Self::Builder

Create a new builder for this graph type.

source

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);

Implementors§

source§

impl<ID> Buildable for VecGraph<ID>where ID: PrimInt + Unsigned,

source§

impl<ID, N, E> Buildable for LinkedListGraph<ID, N, E>where ID: PrimInt + Unsigned + 'static, N: Default, E: Default,