X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ecd5f7562caf1d443bf22788fa5f4fac408776ec..217ab9d5146bf370bbb20065fd357a5c099c78ee:/src/smpi/include/smpi_topo.hpp diff --git a/src/smpi/include/smpi_topo.hpp b/src/smpi/include/smpi_topo.hpp index 9dd874258c..be11c3250a 100644 --- a/src/smpi/include/smpi_topo.hpp +++ b/src/smpi/include/smpi_topo.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -15,55 +15,60 @@ namespace simgrid{ namespace smpi{ class Topo { - public: - virtual ~Topo()=default; - MPI_Comm getComm() const { return comm_; } - void setComm(MPI_Comm comm) { comm_ = comm; } - private: - MPI_Comm comm_; -}; + MPI_Comm comm_; +public: + virtual ~Topo() = default; + MPI_Comm getComm() const { return comm_; } + void setComm(MPI_Comm comm) { comm_ = comm; } +}; class Topo_Cart: public Topo { - private: - int nnodes_ = 0; - int ndims_; - int *dims_; - int *periodic_; - int *position_; - public: - explicit Topo_Cart(int ndims); - ~Topo_Cart(); - Topo_Cart(MPI_Comm comm_old, int ndims, int dims[], 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 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[]); + int nnodes_ = 0; + int ndims_; + int* dims_; + int* periodic_; + int* 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* 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 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[]); }; class Topo_Graph: public Topo { - private: - int nnodes_; - int *index_; - int *edges_; - public: - Topo_Graph(); - ~Topo_Graph(); + int nnodes_; + int* index_; + int* edges_; + +public: + Topo_Graph(); + Topo_Graph(const Topo_Graph&) = delete; + Topo_Graph& operator=(const Topo_Graph&) = delete; + ~Topo_Graph(); }; class Topo_Dist_Graph: public Topo { - private: - int *in_; - int *in_weights_; - int *out_; - int *out_weights_; - public: - Topo_Dist_Graph(); - ~Topo_Dist_Graph(); + 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(); }; }