00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ZONECOPY_HPP
00021 #define ZONECOPY_HPP
00022
00023 #include <Types.hpp>
00024
00035 template <typename T1, typename T2>
00036 inline void ZoneCopy(T1* const destination,
00037 T2* const source,
00038 size_t size)
00039 {
00040 for(size_t i=0; i<size; ++i) {
00041 destination[i] = source[i];
00042 }
00043 }
00044
00045 #define CONST_ZONE_COPY_DEF(T) \
00046 inline void ZoneCopy(T* const destination, \
00047 const T* const source, \
00048 size_t size);
00049
00050 #define ZONE_COPY_DEF(T) \
00051 inline void ZoneCopy(T* const destination, \
00052 const T* const source, \
00053 size_t size);
00054
00055 CONST_ZONE_COPY_DEF(real_t); ZONE_COPY_DEF(real_t);
00056 CONST_ZONE_COPY_DEF(int); ZONE_COPY_DEF(int);
00057
00058
00059 #endif // ZONECOPY_HPP
00060