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

VirtualFeatureTableMemory.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Feature_VirtualFeatureTableMemory_h
00002 #define Impala_Core_Feature_VirtualFeatureTableMemory_h
00003 
00004 #include "Core/Feature/VirtualFeatureTable.h"
00005 #include "Core/Feature/FeatureTable.h"
00006 
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Feature
00012 {
00013 
00014 
00015 class VirtualFeatureTableMemory : public VirtualFeatureTable
00016 {
00017 public:
00018 
00019     VirtualFeatureTableMemory(FeatureTable* features)
00020     {
00021         mFeatures = features;
00022     }
00023 
00024     virtual
00025     ~VirtualFeatureTableMemory()
00026     {
00027         delete mFeatures;
00028         mFeatures = 0;
00029     }
00030 
00031     virtual int
00032     Size() const
00033     {
00034         return mFeatures->Size();
00035     }
00036 
00037     virtual void
00038     GetQuids(Table::QuidTable* quids)
00039     {
00040         Copy(quids->GetColumn1(), mFeatures->GetColumn1(), Size(), 0, 0);
00041         quids->SetSize(Size());
00042     }
00043 
00044     virtual int
00045     GetVectorLength() const
00046     {
00047         return mFeatures->GetFeatureVectorLength();
00048     }
00049 
00050 private:
00051 
00052     virtual int
00053     GetVectorImpl(int rowNr, Real64* buffer, int bufferSize)
00054     {
00055         Real64* ptr = mFeatures->GetColumn2()->GetVectorData(rowNr);
00056         int len = GetVectorLength();
00057         for (int i=0 ; i<len ; i++)
00058             buffer[i] = ptr[i];
00059         return len;
00060     }
00061 
00062     FeatureTable* mFeatures;
00063 
00064     ILOG_VAR_DEC;
00065 };
00066 
00067 ILOG_VAR_INIT(VirtualFeatureTableMemory, Impala.Core.Feature);
00068 
00069 } // namespace Feature
00070 } // namespace Core
00071 } // namespace Impala
00072 
00073 #endif

Generated on Thu Jan 13 09:04:26 2011 for ImpalaSrc by  doxygen 1.5.1