$ g++ test.cpp test.cpp: In function ‘int main()’: test.cpp:28: error: no match for ‘operator=’ in ‘vi = boost::vertex [with Graph = boost::adjacency_list, Config = boost::detail::adj_list_gen, boost::vecS, boost::vecS, boost::bidirectionalS, boost::property, boost::property, boost::no_property, boost::listS>::config, Base = boost::bidirectional_graph_helper_with_property, boost::vecS, boost::vecS, boost::bidirectionalS, boost::property, boost::property, boost::no_property, boost::listS>::config>](i, ((const boost::vec_adj_list_impl, boost::detail::adj_list_gen, boost::vecS, boost::vecS, boost::bidirectionalS, boost::property, boost::property, boost::no_property, boost::listS>::config, boost::bidirectional_graph_helper_with_property, boost::vecS, boost::vecS, boost::bidirectionalS, boost::property, boost::property, boost::no_property, boost::listS>::config> >&)((const boost::vec_adj_list_impl, boost::detail::adj_list_gen, boost::vecS, boost::vecS, boost::bidirectionalS, boost::property, boost::property, boost::no_property, boost::listS>::config, boost::bidirectional_graph_helper_with_property, boost::vecS, boost::vecS, boost::bidirectionalS, boost::property, boost::property, boost::no_property, boost::listS>::config> >*)(& g.boost::adjacency_list::))))’ /usr/include/boost/range/irange.hpp:42: note: candidates are: boost::range_detail::integer_iterator& boost::range_detail::integer_iterator::operator=(const boost::range_detail::integer_iterator&)