Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

CopyUnique.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Column_CopyUnique_h
00002 #define Impala_Core_Column_CopyUnique_h
00003 
00004 #include "Core/Column/Contains.h"
00005 
00006 namespace Impala
00007 {
00008 namespace Core
00009 {
00010 namespace Column
00011 {
00012 
00013 
00018 template <class C1, class C2>
00019 inline int
00020 CopyUnique(C1* dst, C2* src, int dstStart, int srcStart, int srcSize)
00021 {
00022     int nr = 0;
00023     for (int i=srcStart ; i<srcSize ; i++)
00024     {
00025         if (!Contains(dst, src->Get(i), 0, dstStart + nr))
00026         {
00027             dst->Set(dstStart + nr++, src->Get(i));
00028             if (dstStart + nr >= dst->Capacity())
00029                 return nr;
00030         }
00031     }
00032     return nr;
00033 }
00034 
00035 inline int
00036 CopyUnique(InvalidColumn* dst, InvalidColumn* src, int dstStart, int srcStart,
00037            int srcSize)
00038 {
00039     // ignore
00040 }
00041 
00042 template <class C2>
00043 inline int
00044 CopyUnique(InvalidColumn* dst, C2* src, int dstStart, int srcStart, int srcSize)
00045 {
00046     // ignore
00047 }
00048 
00049 template <class C1>
00050 inline int
00051 CopyUnique(C1* dst, InvalidColumn* src, int dstStart, int srcStart, int srcSize)
00052 {
00053     // ignore
00054 }
00055 
00056 } // namespace Column
00057 } // namespace Core
00058 } // namespace Impala
00059 
00060 #endif

Generated on Fri Mar 19 09:31:04 2010 for ImpalaSrc by  doxygen 1.5.1