Hi There,
I am struggling with BOOST while trying to link them with my code. Actually I start while using "loops_dfs.cpp" as an example.
From that I isolated the following code which compiles without any problem:

typedef adjacency_list < vecS, vecS, bidirectionalS,GraphvizVertexProperty,GraphvizEdgeProperty, GraphvizGraphProperty > Graph;

Graph _graph2;
  typedef color_traits < default_color_type > Color;
  typedef graph_traits < Graph >::vertex_descriptor VertexType;
  typedef graph_traits < Graph >::edge_descriptor EdgeType;
      

EdgeType back_edge;//ok I know it is empty but it just to try the compilation!!

 VertexType loop_head, loop_tail;
 loop_tail = source(back_edge, _graph2);
 loop_head = target(back_edge, _graph2);

 std::vector < default_color_type > reachable_from_head(num_vertices(_graph2), Color::white());
 default_color_type c;

depth_first_visit(_graph2, loop_head, default_dfs_visitor(), make_iterator_property_map(reachable_from_head.begin(),get(vertex_index, _graph2), c));

So this works fine!

Then, I would like to change the type of graph, so more precisely, to use a std::list (or listS) instead of a std..vector (vecS) for the VertexListS
So the first line declaration becomes:

typedef adjacency_list < vecS, listS, bidirectionalS,GraphvizVertexProperty,GraphvizEdgeProperty, GraphvizGraphProperty > Graph;
//only the 2nd argument changes

But then when I compile the code, I get 1 error during the compilation as described hereafter.

Since I am fighting for more than one day now on this problem, I would **really** appreciate if someone can give me more explanations and/or advice to solve my problem...

Thanks in advance,

Simon

1>boost/property_map.hpp(351) : error C2679: binary '+' : no operator found which takes a right-hand operand of type 'boost::detail::error_property_not_found' 1>(or there is no acceptable conversion)
1>        C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\vector(366): could be 'std::_Vector_iterator<_Ty,_Alloc> std::_Vector_iterator<_Ty,_Alloc>::operator +(__w64 int) const'
1>        with
1>        [
1>            _Ty=boost::default_color_type,
1>            _Alloc=std::allocator<boost::default_color_type>
1>        ]
1>        while trying to match the argument list '(const std::_Vector_iterator<_Ty,_Alloc>, boost::detail::error_property_not_found)'
1>        with
1>        [
1>            _Ty=boost::default_color_type,
1>            _Alloc=std::allocator<boost::default_color_type>
1>        ]
1>       \inc\boost/property_map.hpp(351) : while compiling class template member function 'boost::default_color_type boost::iterator_property_map<RandomAccessIterator,IndexMap,T,R>::operator [](void *) const'
1>        with
1>        [
1>            RandomAccessIterator=std::_Vector_iterator<boost::default_color_type,std::allocator<boost::default_color_type>>,
1>            IndexMap=boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS,boost::listS,boost::bidirectionalS,LatticeNode,LatticeArc>,boost::detail::error_property_not_found,boost::detail::error_property_not_found &,boost::vertex_index_t>,
1>            T=boost::default_color_type,
1>            R=boost::default_color_type &
1>        ]
1>        ..\test.cpp(18) : see reference to class template instantiation 'boost::iterator_property_map<RandomAccessIterator,IndexMap,T,R>' being compiled
1>        with
1>        [
1>            RandomAccessIterator=std::_Vector_iterator<boost::default_color_type,std::allocator<boost::default_color_type>>,
1>            1> IndexMap=boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS,boost::listS,boost::bidirectionalS,LatticeNode,LatticeArc>,boost::detail::error_property_not_found,boost::detail::error_property_not_found &,boost::vertex_index_t>,
1>            T=boost::default_color_type,
1>            R=boost::default_color_type &
1>        ]