#include <ccommbuffer.h>
Inheritance diagram for cCommBuffer:
This is an abstract class which has different implementations for specific communication mechanisms. For example, the MPI implementation, cMPICommBuffer encapsulates MPI_Pack() and MPI_Unpack().
Public Member Functions | |
virtual | ~cCommBuffer () |
Buffer management | |
virtual bool | isBufferEmpty ()=0 |
virtual void | assertBufferEmpty ()=0 |
Pack basic types | |
virtual void | pack (char d)=0 |
virtual void | pack (unsigned char d)=0 |
virtual void | pack (bool d)=0 |
virtual void | pack (short d)=0 |
virtual void | pack (unsigned short d)=0 |
virtual void | pack (int d)=0 |
virtual void | pack (unsigned int d)=0 |
virtual void | pack (long d)=0 |
virtual void | pack (unsigned long d)=0 |
virtual void | pack (float d)=0 |
virtual void | pack (double d)=0 |
virtual void | pack (long double d)=0 |
void | pack (char *d) |
virtual void | pack (const char *d)=0 |
virtual void | pack (opp_string &d)=0 |
Pack arrays of basic types | |
virtual void | pack (const char *d, int size)=0 |
virtual void | pack (unsigned char *d, int size)=0 |
virtual void | pack (bool *d, int size)=0 |
virtual void | pack (short *d, int size)=0 |
virtual void | pack (unsigned short *d, int size)=0 |
virtual void | pack (int *d, int size)=0 |
virtual void | pack (unsigned int *d, int size)=0 |
virtual void | pack (long *d, int size)=0 |
virtual void | pack (unsigned long *d, int size)=0 |
virtual void | pack (float *d, int size)=0 |
virtual void | pack (double *d, int size)=0 |
virtual void | pack (long double *d, int size)=0 |
void | pack (char **d, int size) |
virtual void | pack (const char **d, int size)=0 |
virtual void | pack (opp_string *d, int size)=0 |
Unpack basic types | |
virtual void | unpack (char &d)=0 |
virtual void | unpack (unsigned char &d)=0 |
virtual void | unpack (bool &d)=0 |
virtual void | unpack (short &d)=0 |
virtual void | unpack (unsigned short &d)=0 |
virtual void | unpack (int &d)=0 |
virtual void | unpack (unsigned int &d)=0 |
virtual void | unpack (long &d)=0 |
virtual void | unpack (unsigned long &d)=0 |
virtual void | unpack (float &d)=0 |
virtual void | unpack (double &d)=0 |
virtual void | unpack (long double &d)=0 |
void | unpack (char *&d) |
virtual void | unpack (const char *&d)=0 |
virtual void | unpack (opp_string &d)=0 |
Unpack arrays of basic types | |
virtual void | unpack (char *d, int size)=0 |
virtual void | unpack (unsigned char *d, int size)=0 |
virtual void | unpack (bool *d, int size)=0 |
virtual void | unpack (short *d, int size)=0 |
virtual void | unpack (unsigned short *d, int size)=0 |
virtual void | unpack (int *d, int size)=0 |
virtual void | unpack (unsigned int *d, int size)=0 |
virtual void | unpack (long *d, int size)=0 |
virtual void | unpack (unsigned long *d, int size)=0 |
virtual void | unpack (float *d, int size)=0 |
virtual void | unpack (double *d, int size)=0 |
virtual void | unpack (long double *d, int size)=0 |
void | unpack (char **d, int size) |
virtual void | unpack (const char **d, int size)=0 |
virtual void | unpack (opp_string *d, int size)=0 |
Utility functions | |
bool | packFlag (bool flag) |
bool | checkFlag () |
virtual void | packObject (cObject *obj) |
virtual cObject * | unpackObject () |
|
Virtual destructor.
|
|
Utility function. To be called after unpacking a communication buffer, it checks whether the buffer is empty. If it is not (i.e. an underflow or overflow occurred), an exception is thrown. |
|
Unpacks and returns a bool flag stored by packFlag().
|
|
Returns true if all data in buffer was used up during unpacking. Returns false if there was underflow (too much data unpacked) or still there's unpacked data in the buffer. |
|
Packs an array of opp_strings.
|
|
Packs an array of strings.
|
|
Packs an array of strings.
|
|
Packs an array of long doubles.
|
|
Packs an array of doubles.
|
|
Packs an array of floats.
|
|
Packs an array of unsigned longs.
|
|
Packs an array of longs.
|
|
Packs an array of unsigned ints.
|
|
Packs an array of ints.
|
|
Packs an array of unsigned shorts.
|
|
Packs an array of shorts.
|
|
Packs an array of bools.
|
|
Packs an array of unsigned chars.
|
|
Packs an array of chars.
|
|
Packs a string.
|
|
Packs a string.
|
|
Packs a string.
|
|
Packs a long double.
|
|
Packs a double.
|
|
Packs a float.
|
|
Packs an unsigned long int.
|
|
Packs a long int.
|
|
Packs an unsigned int.
|
|
Packs an int.
|
|
Packs an unsigned short int.
|
|
Packs a short int.
|
|
Packs a bool.
|
|
Packs an unsigned character.
|
|
Packs a character.
|
|
Stores and returns the given flag.
|
|
Packs an object.
|
|
Unpacks an array of opp_strings.
|
|
Unpacks an array of strings -- storage for strings will be allocated via new char[].
|
|
Unpacks an array of strings -- storage for strings will be allocated via new char[].
|
|
Unpacks an array of long doubles.
|
|
Unpacks an array of doubles.
|
|
Unpacks an array of floats.
|
|
Unpacks an array of unsigned longs.
|
|
Unpacks an array of longs.
|
|
Unpacks an array of unsigned ints.
|
|
Unpacks an array of ints.
|
|
Unpacks an array of unsigned shorts.
|
|
Unpacks an array of shorts.
|
|
Unpacks an array of bools.
|
|
Unpacks an array of unsigned chars.
|
|
Unpacks an array of chars.
|
|
Unpacks an opp_string.
|
|
Unpacks a string -- storage will be allocated for it via new char[].
|
|
Unpacks a string -- storage will be allocated for it via new char[].
|
|
Unpacks a long double.
|
|
Unpacks a double.
|
|
Unpacks a float.
|
|
Unpacks an unsigned long.
|
|
Unpacks a long.
|
|
Unpacks an unsigned int.
|
|
Unpacks an int.
|
|
Unpacks an unsigned short.
|
|
Unpacks a short.
|
|
Unpacks a bool.
|
|
Unpacks an unsigned char.
|
|
Unpacks a char.
|
|
Unpacks and returns an object.
|