X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/43f7ca1cac5ab1858e318fdd6239d0a0c3b3d893..17d3d840ee2e6becbc9bb4fa7b1b324f040ecf78:/src/smpi/include/smpi_coll.hpp diff --git a/src/smpi/include/smpi_coll.hpp b/src/smpi/include/smpi_coll.hpp index 8410ae7ab7..7f468aaa5b 100644 --- a/src/smpi/include/smpi_coll.hpp +++ b/src/smpi/include/smpi_coll.hpp @@ -1,5 +1,5 @@ /*High level handling of collective algorithms*/ -/* Copyright (c) 2009-2010, 2012-2017. The SimGrid Team. +/* Copyright (c) 2009-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -8,14 +8,15 @@ #ifndef SMPI_COLL_HPP #define SMPI_COLL_HPP +#include "private.hpp" #include "xbt/base.h" -/** \brief MPI collective description */ +/** @brief MPI collective description */ -#define COLL_DEFS(cat, ret, args, args2)\ - static void set_##cat(const char* name);\ - static s_mpi_coll_description_t mpi_coll_##cat##_description[];\ - static int (*cat ) args; +#define COLL_DEFS(cat, ret, args, args2) \ + static void set_##cat(std::string name); \ + static s_mpi_coll_description_t mpi_coll_##cat##_description[]; \ + static int(*cat) args; #define COLL_SIG(cat, ret, args, args2)\ static int cat args; @@ -81,17 +82,16 @@ static ret cat (COLL_UNPAREN args); \ namespace simgrid{ namespace smpi{ -struct mpi_coll_description { - const char *name; - const char *description; +struct s_mpi_coll_description_t { + std::string name; + std::string description; void *coll; }; -typedef struct mpi_coll_description s_mpi_coll_description_t; class Colls{ public: - static XBT_PUBLIC(void) coll_help(const char *category, s_mpi_coll_description_t * table); - static XBT_PUBLIC(int) find_coll_description(s_mpi_coll_description_t * table, const char *name, const char *desc); + static XBT_PUBLIC void coll_help(const char* category, s_mpi_coll_description_t* table); + static XBT_PUBLIC int find_coll_description(s_mpi_coll_description_t* table, std::string name, const char* desc); static void set_collectives(); // for each collective type, create the set_* prototype, the description array and the function pointer