00001 #ifndef _ARRAY_H__
00002 #define _ARRAY_H__
00003
00004 #include "DSSAfx.h"
00005
00006 DSS_NAMESPASE_BEGIN
00007
00008 class Array
00009 {
00010 public:
00011
00012
00013
00014
00015
00016
00017
00018
00019 static void Copy(long* source,long* dest,long count)
00020 {
00021 if (count>0)
00022 memcpy(dest,source,count*sizeof(long));
00023 }
00024
00025 static void Copy(int* source,int* dest,int count)
00026 {
00027 if (count>0)
00028 memcpy(dest,source,count*sizeof(int));
00029 }
00030
00031 static void Copy(ULONG* source,ULONG* dest,ULONG count)
00032 {
00033 if (count>0)
00034 memcpy(dest,source,count*sizeof(ULONG));
00035 }
00036
00037 static void Copy(double* source,double* dest,long count)
00038 {
00039 if (count>0)
00040 memcpy(dest,source,count*sizeof(double));
00041 }
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 static void Copy(long* source,long sindex,long* dest,long dindex,long count)
00052 {
00053 if (count>0)
00054 memcpy(dest+dindex,source+sindex,count*sizeof(long));
00055 }
00056
00057 static void Copy(double* source,long sindex,double* dest,long dindex,long count)
00058 {
00059 if (count>0)
00060 memcpy(dest+dindex,source+sindex,count*sizeof(double));
00061 }
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 static void Clear(long* dest,long dindex,long count)
00072 {
00073 if (count>0)
00074 memset(dest+dindex,0,count*sizeof(long));
00075 }
00076
00077 static void Clear(double* dest,long dindex,long count)
00078 {
00079 if (count>0)
00080 memset(dest+dindex,0,count*sizeof(double));
00081 }
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097 static void Reverse(long* dest,long count)
00098 {
00099 long tmp;
00100 for (long i=count/2-1; i>=0; i--)
00101 {
00102 tmp = dest[i];
00103 dest[i] = dest[count-i-1];
00104 dest[count-i-1] = tmp;
00105 }
00106 }
00107
00108 };
00109
00110 DSS_NAMESPASE_END
00111
00112 #endif