Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 // Record for column buffer used by column packer
0002 
0003 #ifndef GENERS_CPBUFFERRECORD_HH_
0004 #define GENERS_CPBUFFERRECORD_HH_
0005 
0006 #include "Alignment/Geners/interface/AbsRecord.hh"
0007 #include "Alignment/Geners/interface/ColumnBuffer.hh"
0008 #include "Alignment/Geners/interface/binaryIO.hh"
0009 
0010 namespace gs {
0011     namespace Private {
0012         class CPBufferRecord : public AbsRecord
0013         {
0014         public:
0015             inline CPBufferRecord(const ColumnBuffer& obj, const char* name,
0016                                   const char* category, unsigned long col)
0017                 : AbsRecord(obj.classId(), "gs::CPBuffer", name, category),
0018                   obj_(obj), column_(col) {}
0019 
0020             inline bool writeData(std::ostream& os) const
0021             {
0022                 write_pod(os, column_);
0023                 return !os.fail() && obj_.write(os);
0024             }
0025 
0026         private:
0027             CPBufferRecord();
0028             const ColumnBuffer& obj_;
0029             const unsigned long column_;
0030         };
0031     }
0032 }
0033 
0034 #endif // GENERS_CPBUFFERRECORD_HH_
0035