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::allocatorboost::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::allocatorboost::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