/* * File: CbmUnpacker.h * Author: winckler * * Created on July 15, 2014, 4:11 PM */ #ifndef CBMUNPACKER_H #define CBMUNPACKER_H #include #include // split data member of type U1 in N pieces of 1 byte template std::vector SplitData(U1 DataToSplit) { U1 Input=DataToSplit; std::size_t InputTypeSize=sizeof(U1); uint8_t *Data_ptr = (uint8_t*)&Input; std::vector output; for(unsigned int i=0;i U2 CombineData(std::vector input) { assert( sizeof(U2)==input.size()); uint64_t combinedData=0; for(unsigned int i=0;i0) temp<<=8*i; combinedData|=temp; } U2 output=(U2)combinedData; return output; } #endif /* CBMUNPACKER_H */