template<class ArrayT>
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:
|