Dear all, Noticed some strange behaviour in Debug mode today using boost::iterator_property_map. Not sure whether this is a bug so decided to post here. Here is a how property map is instantiated: template< class Graph, class Vertex, class Edge, class VertexIterator, class EdgeIterator > class PathRecorder { typedef typename boost::property_map< typename Graph, boost::vertex_index_t >::type VertexId_PMap; typedef boost::iterator_property_map< typename std::vector< Edge
::iterator, VertexId_PMap, typename Edge, typename Edge & > PredEdgeMap;
/// relevant members std::vector< Edge > edges; VertexId_PMap vertex_id; PathRecorder( void ) : /*** some instantiations here ***/ predEdgeMap( edges.begin(), vertex_id ) { } /** @desc Update an entry inside a map ( fatal error happens here ) **/ void put( Vertex target, Edge e ) { boost::put( predEdgeMap, target, e ); } } In Release mode everything works fine but in Debug mode put method causes a fatal error. It fails in property_map.hpp (351): inline R operator[](key_type v) const { return *(iter + get(index, v)) ; } iter seems to be equal to 0... Which is extremely suspicious. Could anyone think whether I am doing something wrong? I can provide more information if this isn't enough. Arty