Boost C++ Libraries: Ticket #7107: Support property bundles as default parameter in graph algorithms https://svn.boost.org/trac10/ticket/7107 <p> Bundled properties don't support default parameters as internal properties do. Adding a possibility to tag members of a bundle would solve that issue. </p> <pre class="wiki">#include &lt;boost/graph/adjacency_list.hpp&gt; #include &lt;boost/graph/properties.hpp&gt; #include &lt;boost/graph/dijkstra_shortest_paths.hpp&gt; #include &lt;string&gt; using namespace std; using namespace boost; struct City{}; struct Highway { double weight; }; typedef adjacency_list&lt; listS, vecS, bidirectionalS, City, Highway&gt; Map; typedef adjacency_list &lt; listS, vecS, directedS, no_property, property &lt; edge_weight_t, int &gt; &gt; Map2; int main() { Map m; Map2 m2; vector&lt;double&gt; distances(num_vertices(m2)); dijkstra_shortest_paths( m2, *vertices(m2).first, distance_map(make_iterator_property_map(distances.begin(), get(vertex_index, m2)))); // does not work // dijkstra_shortest_paths( // m, *vertices(m).first, // boost::distance_map(make_iterator_property_map(distances.begin(), // get(vertex_index, m)))); return 0; } </pre><p> One solution could be to add an optional tags typedef that contains an mpl::map between member pointers and property enum types. Alternatively, a traits class could be specified to map to the right enum type. Maybe someone can also come up with a nice mechanism to transparently tag a member. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7107 Trac 1.4.3