Boost logo

Boost Users :

Subject: Re: [Boost-users] [Graph] changes in 1_40
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2009-11-19 15:03:31


On Thu, 19 Nov 2009, Meththa wrote:

> Thank you for all your replies. I have now updated to boost_1_41 and as you said it only uses Topology. Only problem I have now is at compile time I get an error within the Fruchterman_Reigold algorithm itself given below.
>
> ..\boost_1_41_0\boost\graph\fruchterman_reingold.hpp|95|error: 'dimensions' is not a member of 'point'|
>
> It is pointing to the BOOST_STATIC_ASSERT within the Fruchterman_Reingold algorithm as shown below.
>
> template<typename Topology, typename PositionMap>
> struct grid_force_pairs
> {
> typedef typename property_traits<PositionMap>::value_type Point;
> BOOST_STATIC_ASSERT (Point::dimensions == 2);
> typedef typename Topology::point_difference_type point_difference_type;
> ...
>
> any ideas why I am getting this error? Is this a bug within the library itself?
>
> Thanks.

Which topology are you using? This seems like a compiler bug --
rectangle_topology::point is just convex_topology<2>::point which has a
dimensions member. You can try changing the BOOST_STATIC_CONSTANT that
defines it to an explicit enum or static const member variable; one of
those might fix the problem. Otherwise, the quick fix is to just remove
the static assert.

-- Jeremiah Willcock


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net