Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

2Darray.h

Go to the documentation of this file.
00001 //**************************************************************************
00002 #ifndef _2DARRAY_H
00003 #define _2DARRAY_H
00004 //**************************************************************************
00005 #include "myendian.h"
00006 #include "remotesocket.h"
00007 //**************************************************************************
00008 template <class Etype>
00009 inline int RemoteSocket::SendArray2D(Etype **a, int n1, int n2)
00010 {
00011 static int elemsize = sizeof(Etype);
00012 int rowsize = elemsize*n2;
00013 int totsize = rowsize*n1;
00014 unsigned char *data;
00015 ALLOC1D(&data, totsize);
00016 int ptr = 0;
00017 
00018 for (int i = 0; i < n1; i++)
00019         {
00020          memcpy(&data[ptr], &a[i][0], rowsize);
00021          ptr += rowsize;
00022         }
00023 
00024 setByteOrder(data, totsize, elemsize);
00025 SendBytes(totsize, data);
00026 FREE1D(&data, totsize);
00027 
00028 return 0;
00029 }
00030 //**************************************************************************
00031 template <class Etype>
00032 inline int RemoteSocket::RecvArray2D(Etype **a, int n1, int n2)
00033 {
00034 static int elemsize = sizeof(Etype);
00035 int rowsize = elemsize*n2;
00036 int totsize = rowsize*n1;
00037 unsigned char *data;
00038 ALLOC1D(&data, totsize);
00039 int ptr = 0;
00040 
00041 RecvBytes(totsize, data);
00042 setByteOrder(data, totsize, elemsize);
00043 
00044 for (int i = 0; i < n1; i++)
00045         {
00046          memcpy(&a[i][0], &data[ptr], rowsize);
00047          ptr += rowsize;
00048         }
00049 
00050 FREE1D(&data, totsize);
00051 
00052 return 0;
00053 }
00054 //**************************************************************************
00055 #endif // _2DARRAY_H
00056 //**************************************************************************

Generated on Sun Jun 16 17:36:48 2002 for POSSE: Portable Object-oriented Scientific Steering Environment by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001