1>------ Build started: Project: VerifyStabilization, Configuration: Debug Win32 ------
1>Build started 05/06/2012 18:36:08.
1>ClCompile:
1>  VerifyStabilizaiton.cpp
1>c:\users\benshabt\projects\thesis\thesis\code\thirdparty\include\boost\graph\copy.hpp(82): error C2664: 'boost::vec_adj_list_vertex_all_properties_map<Graph,GraphPtr,Property,PropertyRef>::vec_adj_list_vertex_all_properties_map(GraphPtr)' : cannot convert parameter 1 from 'boost::vec_adj_list_vertex_all_properties_map<Graph,GraphPtr,Property,PropertyRef>' to 'const MCGraph *'
1>          with
1>          [
1>              Graph=MCGraph,
1>              GraphPtr=const MCGraph *,
1>              Property=boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>>,
1>              PropertyRef=const boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>> &
1>          ]
1>          and
1>          [
1>              Graph=boost::adjacency_list<boost::listS,boost::vecS,boost::bidirectionalS,MCVertexProp,boost::property<boost::edge_weight_t,MCEdgeWeight>,MCGraphProp>,
1>              GraphPtr=const boost::adjacency_list<boost::listS,boost::vecS,boost::bidirectionalS,MCVertexProp,boost::property<boost::edge_weight_t,MCEdgeWeight>,MCGraphProp> *,
1>              Property=boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>>,
1>              PropertyRef=const boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>> &
1>          ]
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>          c:\users\benshabt\projects\thesis\thesis\code\thirdparty\include\boost\graph\copy.hpp(80) : while compiling class template member function 'boost::detail::vertex_copier<Graph1,Graph2>::vertex_copier(const Graph1 &,Graph2 &)'
1>          with
1>          [
1>              Graph1=MCGraph,
1>              Graph2=MCGraph
1>          ]
1>          c:\users\benshabt\projects\thesis\thesis\code\thirdparty\include\boost\graph\copy.hpp(304) : see reference to class template instantiation 'boost::detail::vertex_copier<Graph1,Graph2>' being compiled
1>          with
1>          [
1>              Graph1=MCGraph,
1>              Graph2=MCGraph
1>          ]
1>          c:\users\benshabt\projects\thesis\thesis\code\verifiers\verifystabilization\verifystabilizaiton.cpp(18) : see reference to function template instantiation 'void boost::copy_graph<T,MCGraph>(const VertexListGraph &,MutableGraph &)' being compiled
1>          with
1>          [
1>              T=MCGraph,
1>              VertexListGraph=MCGraph,
1>              MutableGraph=MCGraph
1>          ]
1>c:\users\benshabt\projects\thesis\thesis\code\thirdparty\include\boost\graph\copy.hpp(82): error C2664: 'boost::vec_adj_list_vertex_all_properties_map<Graph,GraphPtr,Property,PropertyRef>::vec_adj_list_vertex_all_properties_map(GraphPtr)' : cannot convert parameter 1 from 'boost::vec_adj_list_vertex_all_properties_map<Graph,GraphPtr,Property,PropertyRef>' to 'MCGraph *'
1>          with
1>          [
1>              Graph=MCGraph,
1>              GraphPtr=MCGraph *,
1>              Property=boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>>,
1>              PropertyRef=boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>> &
1>          ]
1>          and
1>          [
1>              Graph=boost::adjacency_list<boost::listS,boost::vecS,boost::bidirectionalS,MCVertexProp,boost::property<boost::edge_weight_t,MCEdgeWeight>,MCGraphProp>,
1>              GraphPtr=boost::adjacency_list<boost::listS,boost::vecS,boost::bidirectionalS,MCVertexProp,boost::property<boost::edge_weight_t,MCEdgeWeight>,MCGraphProp> *,
1>              Property=boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>>,
1>              PropertyRef=boost::property<boost::vertex_name_t,ParamName,boost::property<boost::vertex_FPParamIndex_t,unsigned int>> &
1>          ]
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:25.04
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


On Tue, Jun 5, 2012 at 6:09 PM, Jeremiah Willcock <jewillco@osl.iu.edu> wrote:
On Tue, 5 Jun 2012, Avishay Ben Shabtai wrote:

     > Hi
     >
     > I am having compilation error when calling copy_graph.
     > The compilation error is regarding vertex_all for default copy of vertices.
     > Where can I find info regarding this property and how to resolve the issue?

     What graph type are you using?  If it is custom, you might have an easier
     time passing in your own vertex and edge copying functions, which avoids
     the need to have vertex_all or edge_all properties.  See
     <URL:http://www.boost.org/doc/libs/1_49_0/libs/graph/doc/copy_graph.html>
     for information on those parameters.

     -- Jeremiah Willcock


I don't understand what is custom graph but my graph definition is:

typedef boost::adjacency_list<boost::listS                                                                                                                      //container class of the edges.
                                                        ,boost::vecS
                                                        ,boost::bidirectionalS
                                                        ,MCVertexProp   
                                                        ,boost::property<boost::edge_weight_t,MCEdgeWeight>s
                                                        ,MCGraphProp>   MCBaseGraph; 

do i need to declare vertex_all as property and if so what is its type?

The examples seem to suggest that vertex_all should be predefined, but I may have broken that.  Could you please send your full error message?

-- Jeremiah Willcock