Boost logo

Boost Users :

From: Loïc Joly (loic.joly_at_[hidden])
Date: 2006-07-20 06:10:33


Hello,

When I run the example code of topo_sort.cpp in the BGL examples folder,
it works perfectly. However, if I replace in this example:

   typedef adjacency_list<vecS, vecS, directedS,
     property<vertex_color_t, default_color_type> > Graph;

By:

   typedef adjacency_list<listS, listS, directedS,
     property<vertex_color_t, default_color_type,
                property<vertex_index_t, int > >
> Graph;

It compiles, but during execution, some assert occurs. This assert
occurs deep within my std::vector implementation (msvc8.0), in the call
stack, the latest reference to boost is
> TopoSort.exe!boost::iterator_property_map<std::_Vector_iterator<enum
boost::default_color_type,std::allocator<enum boost::default_color_type>
>,boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS,boost::listS,boost::directedS,boost::property<enum
boost::vertex_color_t,enum
boost::default_color_type,boost::property<enum
boost::vertex_index_t,int,boost::no_property>
>,boost::no_property,boost::no_property,boost::listS>,int,int const
&,enum boost::vertex_index_t>,enum boost::default_color_type,enum
boost::default_color_type &>::operator[](void * v=0x00355eb8) Line 349
+ 0x67 bytes C++

Or, for people who don't read msvc on a daily basis, it indicated the
line 350 of property_map.cpp :

/*template<...> class iterator_property_map : ... { */
     inline R operator[](key_type v) const { return *(iter + get(index,
v)) ; }

Does anybody have any idea of what the problem might be ?

Best regards,

-- 
Loïc

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