Boost logo

Boost Users :

Subject: [Boost-users] [graph] [parallel graph] property and distributedS
From: Andreas Zilian (andreas.zilian_at_[hidden])
Date: 2010-02-25 11:47:17


Hello,

using the parallel graph library, I try to combine the property definition for a vertex

typedef property<vertex_rank_t, int, VVV> vertex_property_t;

with the vertex storage type distributedS in a distributed adjacency_list.

Unfortunately this does not compile in the form listed below.
Now, I would like to learn why the code actually compiles fine if

a) distributedS is changed to vecS (see typdef vertex_storage_t),
b) property<vertex_rank_t, int, VVV> is changed to VVV (see typedef vertex_property_t).

I need the property vertex_rank_t for redistribution of the graph.

Thank you very much,
Andreas

#include <boost/graph/use_mpi.hpp>
#include <boost/graph/distributed/adjacency_list.hpp>
#include <boost/graph/distributed/mpi_process_group.hpp>

using namespace boost;

using boost::graph::distributed::mpi_process_group;

struct VVV {
        friend class boost::serialization::access;
        template<class Archive>
        void serialize(Archive & ar, const unsigned int version) { }
};

//typedef vecS vertex_storage_t ;
typedef distributedS<mpi_process_group, vecS> vertex_storage_t ;

//typedef VVV vertex_property_t;
typedef property<vertex_rank_t, int, VVV> vertex_property_t;
                                
typedef adjacency_list<vecS, vertex_storage_t, directedS, vertex_property_t> G;

int main (int argc, char* argv[])
{
        boost::mpi::environment env(argc,argv);
        G g(10);
}


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