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

FilterUnique.h

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

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