13 if (!compress)
return;
17 std::vector<unsigned char>
out(
isize);
18 uLongf destLen = compressBound(
isize);
19 int zerr = compress2(&out.front(), &destLen,
31 edm::LogError(
"MultiFileBlob:")<< name <<
"already in this object";
37 blob.push_back( (
unsigned char)c);
43 os.write((
const char *)(r.first),r.second-r.first);
51 edm::LogError(
"MultiFileBlob:")<< name <<
"not in this object";
52 return Range(
nullptr,
nullptr);
54 unsigned long long b = (*pos).second;
55 unsigned long long e =
isize;
57 if (pos!=
positions.end()) e= (*pos).second;
65 return r.second-r.first;
74 std::vector<unsigned char>
out(
isize);
75 uLongf destLen = out.size();
76 int zerr = uncompress(&out.front(), &destLen,
78 if (zerr!=0 || out.size()!=destLen)
80 <<
" original size was " <<
isize 81 <<
" new size is " << destLen;
void write(const std::string &name, std::ostream &os) const
write to ostream
std::vector< unsigned char > blob
void finalized(bool compress)
void read(const std::string &name, std::istream &is)
read from real file give it name name
unsigned long long size(const std::string &name) const
std::pair< unsigned char const *, unsigned char const * > Range
Range rawBlob(const std::string &name) const