Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:20

0001 // Record for row packer buffer
0002 
0003 #ifndef GENERS_RPBUFFERRECORD_HH_
0004 #define GENERS_RPBUFFERRECORD_HH_
0005 
0006 #include "Alignment/Geners/interface/AbsRecord.hh"
0007 #include "Alignment/Geners/interface/streamposIO.hh"
0008 
0009 namespace gs {
0010     namespace Private {
0011         template<class Ntuple>
0012         class RPBufferRecord : public AbsRecord
0013         {
0014         public:
0015             inline RPBufferRecord(const Ntuple& obj)
0016                 : AbsRecord(obj.fillBuffer_.classId(), "gs::RPBuffer",
0017                             obj.name_.c_str(), obj.category_.c_str()),
0018                   obj_(obj) {}
0019 
0020             inline bool writeData(std::ostream& os) const
0021             {
0022                 write_pod(os, obj_.firstFillBufferRow_);
0023                 write_pod_vector(os, obj_.fillBufferOffsets_);
0024                 return obj_.fillBuffer_.write(os);
0025             }
0026 
0027         private:
0028             RPBufferRecord();
0029             const Ntuple& obj_;
0030         };
0031     }
0032 }
0033 
0034 #endif // GENERS_RPBUFFERRECORD_HH_
0035