pub fn init() -> Self {
        AdjMap {
            map: HashMap::new(),

            reusable_vertex_ids: HashSet::new(),
            reusable_edge_ids: HashSet::new(),

            vertex_count: 0,
            max_edge_id: 0,

            phantom_w: PhantomData,
            phantom_e: PhantomData,
            phantom_dir: PhantomData,
        }
    }
/// Initializes an empty adjacency map.
///
/// `AdjMap` defines multiple types with different combination of values for generic parameters.
/// These types are:
/// * [`Map`](crate::storage::Map): An adjacency map that uses [`undirected`](crate::graph::UndirectedEdge) [`default edges`](crate::graph::DefaultEdge).
///
/// * [`DiMap`](crate::storage::DiMap): An adjacency map that uses [`directed`](crate::graph::DirectedEdge) [`default edges`](crate::graph::DefaultEdge).
///
/// * [`FlowMap`](crate::storage::FlowMap): An adjacency map that uses [`undirected`](crate::graph::UndirectedEdge) [`flow edges`](crate::graph::FlowEdge).
///
/// * [`DiFlowMap`](crate::storage::DiFlowMap): An adjacency map that uses [`directed`](crate::graph::DirectedEdge) [`flow edges`](crate::graph::FlowEdge).
///
/// # Returns
/// An empty `AdjMap`.
///
/// # Examples
/// ```
/// use prepona::prelude::*;
/// use prepona::storage::{Map, DiMap};
///
/// // To store an undirected graph with usize weights
/// let map = Map::<usize>::init();
///
/// // To store a directed graph with usize weights
/// let di_map = DiMap::<usize>::init();
/// ```
Initializes an empty adjacency map.
`AdjMap` defines multiple types with different combination of values for generic parameters.






Initializes an empty adjacency map . ` AdjMap ` defines multiple types with different combination of values for generic parameters .
pub fn init() -> Self {
        AdjMap {
            map: HashMap::new(),
            reusable_vertex_ids: HashSet::new(),
            reusable_edge_ids: HashSet::new(),
            vertex_count: 0,
            max_edge_id: 0,
            phantom_w: PhantomData,
            phantom_e: PhantomData,
            phantom_dir: PhantomData,
        }
    }
pub fn init ( ) -> Self { AdjMap { map : HashMap :: new ( ) , reusable_vertex_ids : HashSet :: new ( ) , reusable_edge_ids : HashSet :: new ( ) , vertex_count : 0 , max_edge_id : 0 , phantom_w : PhantomData , phantom_e : PhantomData , phantom_dir : PhantomData , } }
Initializes an empty adjacency map.
Initializes an empty adjacency map .
An empty `AdjMap`.
An empty ` AdjMap ` .
examples
```
use prepona::prelude::*;
use prepona::storage::{Map, DiMap}.

To store an undirected graph with usize weights
let map = Map::::init().

To store a directed graph with usize weights
let di_map = DiMap::::init();
```
` ` ` use prepona :: prelude :: * ; use prepona :: storage :: { Map DiMap } . To store an undirected graph with usize weights let map = Map :::: init () . To store a directed graph with usize weights let di_map = DiMap :::: init () ; ` ` `