00001 #ifndef Impala_Core_Table_Append_h
00002 #define Impala_Core_Table_Append_h
00003
00004 #include "Core/Column/Copy.h"
00005
00006 namespace Impala
00007 {
00008 namespace Core
00009 {
00010 namespace Table
00011 {
00012
00013
00014 template <class T1, class T2>
00015 inline void
00016 Append(T1* dst, T2* src)
00017 {
00018 dst->ReserveMin(dst->Size() + src->Size(), true);
00019 Column::Copy(dst->GetColumn1(), src->GetColumn1(), src->Size(), dst->Size(), 0);
00020 Column::Copy(dst->GetColumn2(), src->GetColumn2(), src->Size(), dst->Size(), 0);
00021 Column::Copy(dst->GetColumn3(), src->GetColumn3(), src->Size(), dst->Size(), 0);
00022 Column::Copy(dst->GetColumn4(), src->GetColumn4(), src->Size(), dst->Size(), 0);
00023 Column::Copy(dst->GetColumn5(), src->GetColumn5(), src->Size(), dst->Size(), 0);
00024 Column::Copy(dst->GetColumn6(), src->GetColumn6(), src->Size(), dst->Size(), 0);
00025 Column::Copy(dst->GetColumn7(), src->GetColumn7(), src->Size(), dst->Size(), 0);
00026 Column::Copy(dst->GetColumn8(), src->GetColumn8(), src->Size(), dst->Size(), 0);
00027 Column::Copy(dst->GetColumn9(), src->GetColumn9(), src->Size(), dst->Size(), 0);
00028 dst->SetSize(dst->Size() + src->Size());
00029 }
00030
00031 }
00032 }
00033 }
00034
00035 #endif