Boost Graph Library(BGL)
Create an undirected boost graph using BGL
typedef adjacency_list<boost::vecS, boost::vecS, boost::undirectedS> Graph;
typedef graph_traits<Graph>::vertex_descriptor Vertex;
typedef graph_traits<Graph>::vertex_iterator Vertex_iterator;
property_map<Graph, vertex_name_t>::type bin_ptr = boost::get(vertex_name, g_bin);
auto iter = empty_bins.begin();
for (auto vp = boost::vertices(g_bin); vp.first != vp.second; ++vp.first, ++iter) {
bin_ptr[*vp.first] = *iter;
}