Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef GENERS_PACKERIOCYCLE_HH_
0002 #define GENERS_PACKERIOCYCLE_HH_
0003 
0004 #include "Alignment/Geners/interface/GenericIO.hh"
0005 
0006 namespace gs {
0007     namespace Private {
0008         // Before calling this, make sure that iostack is properly filled
0009         template<typename Pack, unsigned long N>
0010         struct PackerIOCycle
0011         {
0012             template <typename Stream>
0013             inline static bool read(
0014                 Pack* s, Stream& is,
0015                 std::vector<std::vector<ClassId> >& iostack)
0016             {
0017                 return PackerIOCycle<Pack, N-1>::read(s, is, iostack) &&
0018                     process_item<GenericReader>(
0019                         std::get<N-1>(*s), is, &iostack[N-1], false);
0020             }
0021         };
0022 
0023         template<typename Pack>
0024         struct PackerIOCycle<Pack, 0UL>
0025         {
0026             template <typename Stream>
0027             inline static bool read(Pack*, Stream&,
0028                                     std::vector<std::vector<ClassId> >&)
0029                 {return true;}
0030         };
0031     }
0032 }
0033 
0034 #endif // GENERS_PACKERIOCYCLE_HH_
0035