00001 #ifndef Impala_Core_Array_Reverse_h
00002 #define Impala_Core_Array_Reverse_h
00003
00004 #include "Core/Array/Pattern/PatSet.h"
00005 #include "Util/Reverse.h"
00006
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Array
00012 {
00013
00014 template<class ArrayT>
00015 void
00016 Reverse(ArrayT*& dst, const ArrayT* src)
00017 {
00018 if (dst == 0)
00019 dst = ArrayClone<ArrayT>(src);
00020 Pattern::PatSet(dst, src);
00021 int length = dst->W() * dst->H();
00022 Util::Reverse(dst->CPB(), 0, length-1);
00023 }
00024
00025 }
00026 }
00027 }
00028
00029 #endif