cmpicommbuffer.h Source File

Parallel Simulation API: cmpicommbuffer.h Source File
Parallel Simulation API
cmpicommbuffer.h
1//=========================================================================
2// CMPICOMMBUFFER.H - part of
3//
4// OMNeT++/OMNEST
5// Discrete System Simulation in C++
6//
7//=========================================================================
8
9/*--------------------------------------------------------------*
10 Copyright (C) 1992-2017 Andras Varga
11 Copyright (C) 2006-2017 OpenSim Ltd.
12
13 This file is distributed WITHOUT ANY WARRANTY. See the file
14 `license' for details on this and other legal matters.
15*--------------------------------------------------------------*/
16
17#include "omnetpp/platdep/config.h"
18
19#ifdef WITH_MPI
20
21#ifndef __OMNETPP_CMPICOMMBUFFER_H
22#define __OMNETPP_CMPICOMMBUFFER_H
23
24#include "omnetpp/ccommbufferbase.h"
25
26namespace omnetpp {
27
28
34class SIM_API cMPICommBuffer : public cCommBufferBase
35{
36 public:
40 cMPICommBuffer();
41
45 virtual ~cMPICommBuffer();
46
49 virtual void pack(char d) override;
50 virtual void pack(unsigned char d) override;
51 virtual void pack(bool d) override;
52 virtual void pack(short d) override;
53 virtual void pack(unsigned short d) override;
54 virtual void pack(int d) override;
55 virtual void pack(unsigned int d) override;
56 virtual void pack(long d) override;
57 virtual void pack(unsigned long d) override;
58 virtual void pack(long long d) override;
59 virtual void pack(unsigned long long d) override;
60 virtual void pack(float d) override;
61 virtual void pack(double d) override;
62 virtual void pack(long double d) override;
63 virtual void pack(const char *d) override;
64 virtual void pack(const opp_string& d) override;
65 virtual void pack(SimTime d) override;
67
70 virtual void pack(const char *d, int size) override;
71 virtual void pack(const unsigned char *d, int size) override;
72 virtual void pack(const bool *d, int size) override;
73 virtual void pack(const short *d, int size) override;
74 virtual void pack(const unsigned short *d, int size) override;
75 virtual void pack(const int *d, int size) override;
76 virtual void pack(const unsigned int *d, int size) override;
77 virtual void pack(const long *d, int size) override;
78 virtual void pack(const unsigned long *d, int size) override;
79 virtual void pack(const long long *d, int size) override;
80 virtual void pack(const unsigned long long *d, int size) override;
81 virtual void pack(const float *d, int size) override;
82 virtual void pack(const double *d, int size) override;
83 virtual void pack(const long double *d, int size) override;
84 virtual void pack(const char **d, int size) override;
85 virtual void pack(const opp_string *d, int size) override;
86 virtual void pack(const SimTime *d, int size) override;
88
91 virtual void unpack(char& d) override;
92 virtual void unpack(unsigned char& d) override;
93 virtual void unpack(bool& d) override;
94 virtual void unpack(short& d) override;
95 virtual void unpack(unsigned short& d) override;
96 virtual void unpack(int& d) override;
97 virtual void unpack(unsigned int& d) override;
98 virtual void unpack(long& d) override;
99 virtual void unpack(unsigned long& d) override;
100 virtual void unpack(long long& d) override;
101 virtual void unpack(unsigned long long& d) override;
102 virtual void unpack(float& d) override;
103 virtual void unpack(double& d) override;
104 virtual void unpack(long double& d) override;
105 virtual void unpack(const char *&d) override;
106 virtual void unpack(opp_string& d) override;
107 virtual void unpack(SimTime& d) override;
109
112 virtual void unpack(char *d, int size) override;
113 virtual void unpack(unsigned char *d, int size) override;
114 virtual void unpack(bool *d, int size) override;
115 virtual void unpack(short *d, int size) override;
116 virtual void unpack(unsigned short *d, int size) override;
117 virtual void unpack(int *d, int size) override;
118 virtual void unpack(unsigned int *d, int size) override;
119 virtual void unpack(long *d, int size) override;
120 virtual void unpack(unsigned long *d, int size) override;
121 virtual void unpack(long long *d, int size) override;
122 virtual void unpack(unsigned long long *d, int size) override;
123 virtual void unpack(float *d, int size) override;
124 virtual void unpack(double *d, int size) override;
125 virtual void unpack(long double *d, int size) override;
126 virtual void unpack(const char **d, int size) override;
127 virtual void unpack(opp_string *d, int size) override;
128 virtual void unpack(SimTime *d, int size) override;
130};
131
132} // namespace omnetpp
133
134
135#endif
136
137#endif // WITH_MPI