1 #include "Alignment/Geners/interface/ColumnBuffer.hh"
2 #include "Alignment/Geners/interface/streamposIO.hh"
7 write_pod(os, firstrow);
8 write_pod(os, lastrowp1);
9 const unsigned char isPod = (podsize ? 1 : 0);
12 write_pod(os, podsize);
15 return !os.fail() &&
buf.write(os);
18 void ColumnBuffer::restore(
const ClassId &
id,
const ClassId &bufId, std::istream &is, ColumnBuffer *
obj) {
20 obj->classId().ensureSameId(
id);
22 read_pod(is, &
obj->firstrow);
23 read_pod(is, &
obj->lastrowp1);
28 read_pod(is, &
obj->podsize);
31 read_pod_vector(is, &
obj->offsets);
34 throw IOReadFailure(
"In gs::Private::ColumnBuffer::restore: input stream failure");
37 if (isPod && !
obj->podsize)
38 throw IOInvalidData(
"In gs::Private::ColumnBuffer::restore: corrupted record");
40 CharBuffer::restore(bufId, is, &
obj->buf);
44 return firstrow ==
r.firstrow && lastrowp1 ==
r.lastrowp1 && podsize ==
r.podsize &&
offsets ==
r.offsets &&
48 const ClassId &ColumnBuffer::static_classId() {