template<class T1, class T2>
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:
|