pub fn init() -> Self {
        AdjMatrix {
            vec: vec![],
            reusable_vertex_ids: HashSet::new(),

            max_edge_id: 0,
            reusable_edge_ids: HashSet::new(),

            vertex_count: 0,

            phantom_w: PhantomData,
            phantom_dir: PhantomData,
        }
    }
/// Initializes an empty adjacency matrix.
///
/// `AdjMatrix` defines multiple types with different combination of values for generic parameters.
/// These types are:
/// * [`Mat`](crate::storage::Mat): An adjacency matrix that uses [`undirected`](crate::graph::UndirectedEdge) [`default edges`](crate::graph::DefaultEdge).
/// * [`DiMat`](crate::storage::DiMat): An adjacency matrix that uses [`directed`](crate::graph::DirectedEdge) [`default edges`](crate::graph::DefaultEdge).
/// * [`FlowMat`](crate::storage::FlowMat): An adjacency matrix that uses [`undirected`](crate::graph::UndirectedEdge) [`flow edges`](crate::graph::FlowEdge).
/// * [`DiFlowMat`](crate::storage::DiFlowMat): An adjacency matrix that uses [`directed`](crate::graph::DirectedEdge) [`flow edges`](crate::graph::FlowEdge).
///
///
/// # Returns
/// An empty `AdjMatrix`.
///
/// # Examples
/// ```
/// use prepona::prelude::*;
/// use prepona::storage::{Mat, DiMat};
///
/// // To store an undirected graph with usize weights
/// let mat = Mat::<usize>::init();
///
/// // To store a directed graph with usize weights
/// let di_mat = DiMat::<usize>::init();
/// ```
Initializes an empty adjacency matrix.
`AdjMatrix` defines multiple types with different combination of values for generic parameters.
Initializes an empty adjacency matrix . ` AdjMatrix ` defines multiple types with different combination of values for generic parameters .
pub fn init() -> Self {
        AdjMatrix {
            vec: vec![],
            reusable_vertex_ids: HashSet::new(),
            max_edge_id: 0,
            reusable_edge_ids: HashSet::new(),
            vertex_count: 0,
            phantom_w: PhantomData,
            phantom_dir: PhantomData,
        }
    }
pub fn init ( ) -> Self { AdjMatrix { vec : vec ! [ ] , reusable_vertex_ids : HashSet :: new ( ) , max_edge_id : 0 , reusable_edge_ids : HashSet :: new ( ) , vertex_count : 0 , phantom_w : PhantomData , phantom_dir : PhantomData , } }
Initializes an empty adjacency matrix.
Initializes an empty adjacency matrix .
An empty `AdjMatrix`.
An empty ` AdjMatrix ` .
examples
```
use prepona::prelude::*;
use prepona::storage::{Mat, DiMat}.

To store an undirected graph with usize weights
let mat = Mat::::init().

To store a directed graph with usize weights
let di_mat = DiMat::::init();
```
` ` ` use prepona :: prelude :: * ; use prepona :: storage :: { Mat DiMat } . To store an undirected graph with usize weights let mat = Mat :::: init () . To store a directed graph with usize weights let di_mat = DiMat :::: init () ; ` ` `