X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/217ab9d5146bf370bbb20065fd357a5c099c78ee..4a159579c0ba841770649b94be8fe957390160cd:/src/smpi/include/smpi_topo.hpp diff --git a/src/smpi/include/smpi_topo.hpp b/src/smpi/include/smpi_topo.hpp index be11c3250a..a0d55adc99 100644 --- a/src/smpi/include/smpi_topo.hpp +++ b/src/smpi/include/smpi_topo.hpp @@ -26,20 +26,17 @@ public: class Topo_Cart: public Topo { int nnodes_ = 0; int ndims_; - int* dims_; - int* periodic_; - int* position_; + std::vector dims_; + std::vector periodic_; + std::vector position_; public: explicit Topo_Cart(int ndims); - Topo_Cart(const Topo_Cart&) = delete; - Topo_Cart& operator=(const Topo_Cart&) = delete; - ~Topo_Cart(); - Topo_Cart(MPI_Comm comm_old, int ndims, int dims[], int periods[], int reorder, MPI_Comm* comm_cart); + Topo_Cart(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], int reorder, MPI_Comm* comm_cart); Topo_Cart* sub(const int remain_dims[], MPI_Comm* newcomm); int coords(int rank, int maxdims, int coords[]); int get(int maxdims, int* dims, int* periods, int* coords); - int rank(int* coords, int* rank); + int rank(const int* coords, int* rank); int shift(int direction, int disp, int* rank_source, int* rank_dest); int dim_get(int* ndims); static int Dims_create(int nnodes, int ndims, int dims[]); @@ -47,28 +44,15 @@ public: class Topo_Graph: public Topo { - int nnodes_; - int* index_; - int* edges_; - -public: - Topo_Graph(); - Topo_Graph(const Topo_Graph&) = delete; - Topo_Graph& operator=(const Topo_Graph&) = delete; - ~Topo_Graph(); + std::vector index_; + std::vector edges_; }; class Topo_Dist_Graph: public Topo { - int* in_; - int* in_weights_; - int* out_; - int* out_weights_; - -public: - Topo_Dist_Graph(); - Topo_Dist_Graph(const Topo_Dist_Graph&) = delete; - Topo_Dist_Graph& operator=(const Topo_Dist_Graph&) = delete; - ~Topo_Dist_Graph(); + std::vector in_; + std::vector in_weights_; + std::vector out_; + std::vector out_weights_; }; }