cmpicommbuffer.h

00001 //=========================================================================
00002 //  CMPICOMMBUFFER.H - part of
00003 //
00004 //                  OMNeT++/OMNEST
00005 //           Discrete System Simulation in C++
00006 //
00007 //  Author: Andras Varga, 2003
00008 //          Dept. of Electrical and Computer Systems Engineering,
00009 //          Monash University, Melbourne, Australia
00010 //
00011 //=========================================================================
00012 
00013 /*--------------------------------------------------------------*
00014   Copyright (C) 2003-2008 Andras Varga
00015   Copyright (C) 2006-2008 OpenSim Ltd.
00016 
00017   This file is distributed WITHOUT ANY WARRANTY. See the file
00018   `license' for details on this and other legal matters.
00019 *--------------------------------------------------------------*/
00020 
00021 #ifdef WITH_MPI
00022 
00023 #ifndef __CMPICOMMBUFFER_H__
00024 #define __CMPICOMMBUFFER_H__
00025 
00026 #include "ccommbufferbase.h"
00027 
00028 NAMESPACE_BEGIN
00029 
00030 
00036 class SIM_API cMPICommBuffer : public cCommBufferBase
00037 {
00038   public:
00042     cMPICommBuffer();
00043 
00047     virtual ~cMPICommBuffer();
00048 
00051     virtual void pack(char d);
00052     virtual void pack(unsigned char d);
00053     virtual void pack(bool d);
00054     virtual void pack(short d);
00055     virtual void pack(unsigned short d);
00056     virtual void pack(int d);
00057     virtual void pack(unsigned int d);
00058     virtual void pack(long d);
00059     virtual void pack(unsigned long d);
00060     virtual void pack(opp_long_long d);
00061     virtual void pack(opp_unsigned_long_long d);
00062     virtual void pack(float d);
00063     virtual void pack(double d);
00064     virtual void pack(long double d);
00065     virtual void pack(const char *d);
00066     virtual void pack(const opp_string& d);
00067     virtual void pack(SimTime d);
00069 
00072     virtual void pack(const char *d, int size);
00073     virtual void pack(const unsigned char *d, int size);
00074     virtual void pack(const bool *d, int size);
00075     virtual void pack(const short *d, int size);
00076     virtual void pack(const unsigned short *d, int size);
00077     virtual void pack(const int *d, int size);
00078     virtual void pack(const unsigned int *d, int size);
00079     virtual void pack(const long *d, int size);
00080     virtual void pack(const unsigned long *d, int size);
00081     virtual void pack(const opp_long_long *d, int size);
00082     virtual void pack(const opp_unsigned_long_long *d, int size);
00083     virtual void pack(const float *d, int size);
00084     virtual void pack(const double *d, int size);
00085     virtual void pack(const long double *d, int size);
00086     virtual void pack(const char **d, int size);
00087     virtual void pack(const opp_string *d, int size);
00088     virtual void pack(const SimTime *d, int size);
00090 
00093     virtual void unpack(char& d);
00094     virtual void unpack(unsigned char& d);
00095     virtual void unpack(bool& d);
00096     virtual void unpack(short& d);
00097     virtual void unpack(unsigned short& d);
00098     virtual void unpack(int& d);
00099     virtual void unpack(unsigned int& d);
00100     virtual void unpack(long& d);
00101     virtual void unpack(unsigned long& d);
00102     virtual void unpack(opp_long_long& d);
00103     virtual void unpack(opp_unsigned_long_long& d);
00104     virtual void unpack(float& d);
00105     virtual void unpack(double& d);
00106     virtual void unpack(long double& d);
00107     virtual void unpack(const char *&d);
00108     virtual void unpack(opp_string& d);
00109     virtual void unpack(SimTime& d);
00111 
00114     virtual void unpack(char *d, int size);
00115     virtual void unpack(unsigned char *d, int size);
00116     virtual void unpack(bool *d, int size);
00117     virtual void unpack(short *d, int size);
00118     virtual void unpack(unsigned short *d, int size);
00119     virtual void unpack(int *d, int size);
00120     virtual void unpack(unsigned int *d, int size);
00121     virtual void unpack(long *d, int size);
00122     virtual void unpack(unsigned long *d, int size);
00123     virtual void unpack(opp_long_long *d, int size);
00124     virtual void unpack(opp_unsigned_long_long *d, int size);
00125     virtual void unpack(float *d, int size);
00126     virtual void unpack(double *d, int size);
00127     virtual void unpack(long double *d, int size);
00128     virtual void unpack(const char **d, int size);
00129     virtual void unpack(opp_string *d, int size);
00130     virtual void unpack(SimTime *d, int size);
00132 };
00133 
00134 NAMESPACE_END
00135 
00136 
00137 #endif
00138 
00139 #endif // WITH_MPI
Generated on Tue Dec 2 11:16:32 2014 for OMNeT++ Parallel Simulation Support by  doxygen 1.6.3