Thanks. I figured out how that I needed to put a boost namespace around the
whole specialization sometime last night, and after I did everything built
correctly. The mysterious non-scalar conversion error went away.
Ultimately I think the source of my confusion lay in the fact
that property graph concept types are defined in property_map structures
while all other graph concept types are defined in graph traits. I was so
in the habit of adding typedefs inside my graph class I overlooked the fact
that property graphs do something else.
In retrospect this is all clearly spelled out in the documentation, but if I
was confused about it someone else probably will be too. Hopefully my
sample at http://github.com/wpm/Boost-Implicit-Graph-Example can prevent
someone from going down the same path.
Thanks again for your help.
On Fri, Jun 25, 2010 at 6:55 AM, Jeremiah Willcock
On Thu, 24 Jun 2010, W.P. McNeill wrote:
How do I "specialize boost::property_map directly"? This might be the key
to the problem.
My current shot in the dark is to try: template<> struct boost::property_map
{ typedef EdgeWeightMap type; typedef EdgeWeightMap const_type; }; which gives me the error
implicit.hpp:116: error: specialization of ‘template
struct boost::property_map’ in different namespace /opt/local/include/boost/graph/properties.hpp:244: error: from definition of ‘template struct boost::property_map’ You need to do:
namespace boost { template <> struct property_map
{ ... }; } -- Jeremiah Willcock _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users