#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace py = pybind11; typedef int node_t; typedef float weight_t; typedef std::map node_attr_dict_factory; //(weight_key, value) typedef std::map edge_attr_dict_factory; //(weight_key, value) typedef std::unordered_map node_dict_factory; //(node, node_attr) typedef std::unordered_map adj_attr_dict_factory; //(out_node, (weight_key, value)) typedef std::unordered_map adj_dict_factory; //(node, edge_attr) struct graph_edge { node_t u, v; edge_attr_dict_factory attr; graph_edge(node_t, node_t, edge_attr_dict_factory); };