Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
25d1034e64e875fe80e7e89fccbd5688a39352da
[simgrid.git] / src / smpi / smpi_info.hpp
1 /* Copyright (c) 2009-2010, 2012-2017. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef SMPI_INFO_HPP
8 #define SMPI_INFO_HPP
9
10 #include <xbt/base.h>
11
12 #include "private.h"
13 #include "src/smpi/smpi_comm.hpp"
14
15 namespace simgrid{
16 namespace smpi{
17
18 class Info : public F2C{
19   private:
20     xbt_dict_t dict_;
21     int refcount_;
22   public:
23     explicit Info();
24     explicit Info(Info* orig);
25     ~Info();
26     void ref();
27     static void unref(MPI_Info info);
28     void set(char *key, char *value);
29     int get(char *key,int valuelen, char *value, int *flag);
30     int remove(char* key);
31     int get_nkeys(int *nkeys);
32     int get_nthkey(int n, char *key);
33     int get_valuelen(char *key, int *valuelen, int *flag);
34     static Info* f2c(int id);
35 };
36
37 }
38 }
39
40 #endif