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

MakeFilter.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Column_MakeFilter_h
00002 #define Impala_Core_Column_MakeFilter_h
00003 
00004 #include "Core/Column/InvalidColumn.h"
00005 
00006 namespace Impala
00007 {
00008 namespace Core
00009 {
00010 namespace Column
00011 {
00012 
00013 
00016 template <class C>
00017 inline void
00018 MakeFilter(bool*& filter, C* col, bool defaultValue)
00019 {
00020     if (filter == 0)
00021         filter = new bool[col->Capacity()];
00022     for (int i=0 ; i<col->Capacity() ; i++)
00023         filter[i] = defaultValue;
00024 }
00025 
00026 inline void
00027 MakeFilter(bool*& filter, InvalidColumn* col)
00028 {
00029     // ignore
00030 }
00031 
00032 
00035 template <class C>
00036 inline void
00037 MakeFilterEqual(bool*& filter, C* col, bool defaultValue,
00038                 typename C::ColElemType elem)
00039 {
00040     if (filter == 0)
00041         filter = new bool[col->Capacity()];
00042     for (int i=0 ; i<col->Capacity() ; i++)
00043         filter[i] = (col->Get(i) == elem) ? !defaultValue : defaultValue;
00044 }
00045 
00046 inline void
00047 MakeFilterEqual(bool*& filter, InvalidColumn* col, int elem)
00048 {
00049     // ignore
00050 }
00051 
00052 } // namespace Column
00053 } // namespace Core
00054 } // namespace Impala
00055 
00056 #endif

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