$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] [Graph] - Do bundled properties break the named parameters paradigm?
From: David Conner (dcconner_at_[hidden])
Date: 2009-01-09 18:08:12
I was trying to work with astar-cities.cpp example and convert to
using bundled property maps for the edge properties.
This caused numerous issues (see yesterdays post for one example).
I found that if I bypass the named parameters and make an explicit
call to astar_search( ) then it works OK.
Does anyone know if the bundle property maps causes general issues
with named parameters?
thanks,
David
--- More info -----------------------------------
Normally, the named parameters would created the property maps that
are needed; e.g. thru the use of
         choose_param(cost, make_iterator_property_map
                      (cost_map.begin(), index_map,
                       cost_map[0])),
This appears to break if I use a bundled parameter because of some
issues with the limit templates among other things.
If I explicitly create all of the parameters, things work fine.
e.g.
    boost::astar_search
      (g,
       start,
       distance_heuristic<mygraph_t, cost, location*>(locations, goal),
       astar_goal_visitor<vertex>(goal), // Only the first of named
parameters needs boost::
       &pred_map[0] ,//boost::predecessor_map(  ),
       &cost_map[0] ,//boost::rank_map(         ),
       &dist_map[0] ,//boost::distance_map(     ),
       weightmap,//boost::weight_map(       ),   =========<<<<< This
was the bundled property
       &index_map[0],//boost::vertex_index_map( ),//IndexMap,
       &clr_map[0]  ,//boost::color_map(        )      ,
       std::less<cost>(),
       boost::closed_plus<cost>(),
       std::numeric_limits<cost>::max BOOST_PREVENT_MACRO_SUBSTITUTION (),
       std::numeric_limits<cost>::min()
      );//.