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

template<class ArrayT>
void Impala::Core::Array::WriteRawListVar ( std::vector< ArrayT * >  list,
Persistency::File  file,
bool  writeIndex,
bool  binary 
) [inline]

Definition at line 336 of file WriteRaw.h.

References Impala::Persistency::File::GetFileSystem(), Impala::Persistency::File::GetPath(), Impala::Persistency::File::GetWriteBuffer(), ILOG_ERROR, ILOG_VAR, Impala::Persistency::File::IsWritable(), and WriteRawListVar().

Referenced by Impala::Persistency::ImageArchiveRepositoryInFile::Add(), Impala::Core::IDash::VideoSetWrapper::Add(), Impala::Core::VideoSet::ExportKeyframes::HandleDoneFile(), Impala::Core::VideoSet::ExportFrames::HandleDoneFile(), and Impala::Core::VideoSet::ExportKeyframes::HandleDoneWalk().

00338 {
00339     ILOG_VAR(Impala.Core.Array.WriteRawListVar);
00340     Util::IOBuffer* buf = file.GetWriteBuffer();
00341     if (!buf)
00342         return;
00343 
00344     WriteRawListVar(list, buf, binary);
00345     delete buf;
00346 
00347     if (!writeIndex)
00348         return;
00349     if (!binary)
00350     {
00351         ILOG_ERROR("Cannot write index for non-binary files");
00352         return;
00353     }
00354 
00355     size_t storSize = sizeof(typename ArrayT::StorType);
00356     Int64 elemSize = ArrayT::ElemSize();
00357     std::vector<Int64> v;
00358     Int64 pos = 200;
00359     for (Int64 i=0 ; i<list.size() ; i++)
00360     {
00361         v.push_back(pos);
00362         pos += 20 + storSize * list[i]->CW() * list[i]->CH() * elemSize;
00363     }
00364     Persistency::File idxFile(file.GetPath() + ".idx", file.GetFileSystem(),
00365                               file.IsWritable());
00366     idxFile.WriteNative(v.begin(), v.end());
00367 }

Here is the call graph for this function:


Generated on Thu Jan 13 09:17:11 2011 for ImpalaSrc by  doxygen 1.5.1