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

template<class T1, class T2>
void Impala::Core::Table::Select ( T1 *  dst,
T2 *  src,
bool *  filter,
bool  doClearDst 
) [inline]

Select elements from src based on filter and copy them to dst.

If (filter != 0) its number of elements is at least src->Size().

Definition at line 21 of file Select.h.

References Select().

Referenced by Impala::Core::Table::AnnotationTable::DumpSummaryObject(), Select(), Impala::Core::Table::AnnotationTable::SelectQuidObjectMaxId(), Impala::Core::Table::AnnotationTable::SelectQuidObjectMaxNegative(), and Impala::Core::Table::AnnotationTable::SelectQuidObjectMaxPositive().

00022 {
00023     int srcSize = src->Size(); // keep orignal size in case dst == src
00024     if (doClearDst)
00025         dst->SetSize(0);
00026     int nr = 0;
00027     if (filter)
00028     {
00029         for (int i=0 ; i<srcSize ; i++)
00030             if (filter[i])
00031                 nr++;
00032     }
00033     else
00034     {
00035         nr = srcSize;
00036     }
00037     dst->ReserveMin(dst->Size() + nr, true);
00038     Column::Select(dst->GetColumn1(), src->GetColumn1(), filter, dst->Size(), 0,
00039                    srcSize);
00040     Column::Select(dst->GetColumn2(), src->GetColumn2(), filter, dst->Size(), 0,
00041                    srcSize);
00042     Column::Select(dst->GetColumn3(), src->GetColumn3(), filter, dst->Size(), 0,
00043                    srcSize);
00044     Column::Select(dst->GetColumn4(), src->GetColumn4(), filter, dst->Size(), 0,
00045                    srcSize);
00046     Column::Select(dst->GetColumn5(), src->GetColumn5(), filter, dst->Size(), 0,
00047                    srcSize);
00048     Column::Select(dst->GetColumn6(), src->GetColumn6(), filter, dst->Size(), 0,
00049                    srcSize);
00050     Column::Select(dst->GetColumn7(), src->GetColumn7(), filter, dst->Size(), 0,
00051                    srcSize);
00052     Column::Select(dst->GetColumn8(), src->GetColumn8(), filter, dst->Size(), 0,
00053                    srcSize);
00054     Column::Select(dst->GetColumn9(), src->GetColumn9(), filter, dst->Size(), 0,
00055                    srcSize);
00056     dst->SetSize(dst->Size() + nr);
00057 }

Here is the call graph for this function:


Generated on Fri Mar 19 11:19:26 2010 for ImpalaSrc by  doxygen 1.5.1