/*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
/** \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;
namespace smpi{
struct s_mpi_coll_description_t {
- const char *name;
- const char *description;
+ std::string name;
+ std::string description;
void *coll;
};
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